微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)

 

  

  

   

 

  

  

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐