Selenium3+Python3_11:js语法

1.JS语法

js 中元素定位方法,如下5种方法:

a.通过id获取,获取的是单个
document.getElementById("id")

b.通过name获取,获取的是多个
document.getElementsByName("name")[0]

c.通过标签名选取元素,获取的是多个
document.getElementsByTagName("tag")

d.通过CLASS类选取元素,获取的是多个
document.getElementsByClassName("class")

e.通过CSS选择器选取元素
document.querySelectorAll("css selector")

2.处理浏览器的滚动条

#滚动到底部
# js_end = "window.scrollTo(0, 100000)" #两个元素分别是横向滚动条,和纵向滚动条
js_end = "window.scrollTo(0, document.body.scrollHeight)"
driver.execute_script(js_end)

#滚动到顶部
js_top = "window.scrollTo(0, 0)"
driver.execute_script(js_top)

#聚焦元素
ele = driver.find_element_by_xpath("//a[contains(text(), '美国副总统彭斯')]")
driver.execute_script("arguments[0].scrollIntoView();", ele)

3.处理页面上的滚动条(非浏览器本身的)

#控制纵向滚动条  获取多个,通过下标获取
js = 'document.getElementsByClassName("scroll")[0].scrollTop=10000'
driver.execute_script(js)
#控制纵向滚动条
js = 'document.getElementsByClassName("scroll")[0].scrollLeft=10000'
driver.execute_script(js)

4.处理有iframe的富文本

js1 = 'document.getElementsByClassName("ke-iframe")[0].contentWindow.document.body.innerHTML="hello";'

5.不带iframe的写法

js = '''
document.getElementById("account").value="admin";

document.getElementsByName("password")[0].value="123456";

document.getElementById("submit").click()

'''

6.js修改属性,如日历控件

js = '''

document.getElementById("train_date").removeAttribute("readonly");

document.getElementById("train_date").value = "2019-04-08";
'''

 

转载于:https://www.cnblogs.com/elaine888/p/10618381.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值