五种JS定位的方法:
注:除了通过id可以获取一个对象,其余方法都是获取一列对象
1、通过id获取
document.getElementById("略")
2、通过name获取
document.getElementsByName("略")
3、通过标签名选取元素
document.getElementsByTagName("略")
4、通过Class类获取元素
document.getElementsByClassName("略")
5、通过Css选择器选取元素
document.querySelectorAll("略")
JS大法在实际工作中的应用举例:
1、使用js方法点击
js ='document.getElementsByClassName("略")[0].click()'
2、取消自定义弹窗
js = 'document.getElementById("略").style.display = "none";'
3、Js控制滚动条高度
滚动条回到顶部:
js = "var q=document.getElementById("略").scrollTop = 0"
滚动条拉到底部:
js = "var q=document.documentELement.scrollTop=10000"
上述js代码适用于Firefox浏览器中,Chrome浏览器不一样
js = "var q=document.body.scrollTop=0"
js= "var q=document.body.scrollTop=10000"
通用的JS控制滚动条的代码
js = "window.scrollTop(x,y)" //x为很横坐标,y为纵坐标
4、js和webdriver搭配实现元素聚焦
何为元素聚焦:解决在拖动滚动条时确定我需要操作元素的作用
举例:
target = driver.find_element_by_xxx()
driver.execute_script("arguments[0].scrolIIntoView();",target)
arguments[]获取参数
5、js输入正文
body= "这里是通过js发的正文内容"
js = 'document.getElementById("略")'.contentWindow.document.body.innerHTML="%s"'%body
driver.execute_script(js)
6、js处理日历控件(修改readonly属性)
js = 'document.getElementById("略").removeAttribute("readonly");'
7、js输入日期
js = 'document.getElementById("略").value="2016-12-25";'
8、js处理内嵌div滚动条
js = 'document.getElementById("略").scrollTop=10000;'
js = 'document.getElementById("略").scrollTop=0;'
js = 'document.getElementById("l略").scrollLeft=0'
js = 'document.getElementById("l略").scrollLeft=10000'
9、js处理多窗口
注:target = '_blank'的链接,会打开新的窗口,可以使用js解决这个问题
js = 'document.getElementsByClassName("mnav")[0].target="";'