Selenium第15课 JS相关

一、滚动条

  def js_focus_element(self, locator):

    # 聚集元素

    target = self.find_element(locator)

    self.driver.execute_script("arguments[0].scrollIntoView();", target)

  def js_scroll_to_top(self):

    # 滚动到顶部

    js = "window.scrollTo(0, 0)"

    self.driver.execute_script(js)

  def js_scroll_end(self):

    js = "window.scrollTo(0, document.body.scrollHeight)"  # 或者(0, 10000),最底端是10000

    self.driver.execute_script(js)

二、有iframe的富文本

  js = document.getElementsByClassName("ke-edit-iframe")[0].contentWindow.document.body.innerHTML="%s" % body

  driver.execute_script(js)

三、JS获取元素的方法

  document.getElementById("id")

  document.getElementsByName("name")[0]

  document.getElementsByTagName("tag")[0]

  document.getElementsByClassName("class")[0]

  document.querySelectorAll("css selector")

四、Jquery相关操作

  $("css selector").val(" ")  # val()是发送文本,点击用.click()

  username = "$('#input1').val('输入内容')"

  driver.execute_script(username)

五、JS修改属性:日历控件

  去掉只读属性,清空内容,然后就可以输入内容了

  js = "document.getElementById('train_date').removeAttribute('readonly');"

  driver.execute_script(js)

  #1 send_keys 赋值

  #2 JS赋值

  js1 = "document.getElementById("train_date").value='2019-02-24';"

  driver.execute_script(js1)

六、内嵌div滚动条

  先定位div的位置,再通过scrollTop和scrollLeft的方法控制进度

  document.getElementById("id").scollTop=10000;

  document.getElementById("id").scrollLeft=10000;

七、JS解决click失效问题

  #1 js直接点击

  js = "document.getElementsByClassName("class")[0].click();"

  driver.execute_script(js)

  #2 jquery点击

  jquery = "$('css selector').click()"

  driver.execute_script(jquery)

  

  

   

  

  

猜你喜欢

转载自www.cnblogs.com/yzyj/p/10425824.html