一、滚动条
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)
原文:https://www.cnblogs.com/yzyj/p/10425824.html