python+selenium自动化测试-13使用JavaScript操作页面元素(含改变元素属性值)

在webdriver脚本代码中执行JavaScript代码,来实现对页面元素的操作。此种方式主要用于解决在某些情况下,页面元素的.click()、.send_keys()无法生效等问题。JavaScript操作页面元素为selenium自动化进阶部分。下面以例子做简单介绍。

1、输入文本值

searchInputBoxJS=”document.getElementById(‘kw’).value=’自动化测试’;#打开百度首页,在id为‘kw’的文本框(搜索框)内输入‘自动化测试’
self.driver.execute_script(searchInputBoxJS)

2、点击按钮

searchButonJS=”document.getElementById(‘su’).click()”
self.driver.execute_script(searchButonJS)

3、操作日期控件

startTime = datetime.datetime.now()
endTime = startTime + datetime.timedelta(days=3)
startDate = startTime.strftime('%Y-%m-%d %H:%M:%S')
endDate = endTime.strftime('%Y-%m-%d %H:%M:%S')
js_statime_dynamic = "$('#startDate').val('" + startDate + "')"#向日期控件输入日期,send_keys()无法输入
js_endtime_dynamic = "$('#endDate').val('" + endDate + "')"

4、处理内嵌div滚动条

jsTop = “document.getElementById(‘su’).scrollTop=10000#拉到最上面
jsBottom = “document.getElementById(‘su’).scrollTop=0#拉到最下面
jsLeft = “document.getElementById(‘su’).scrollLeft=10000#拉到最左边
jsRight = “document.getElementById(‘su’).scrollLeft=0#拉到最右边

5、改变元素的属性值

#找到该元素所在位置
targetEle = self.find_element(*self.targetEle_loc)
# arguments[0]对应的是第一个参数,可以理解为python里的%s传参,与之类似。'.value'表示修改元素的value属性的值。
self.driver.execute_script("arguments[0].value = '99';", targetTag)
js = "document.getElementById('goodsName').setAttribute('maxlength','100')"
self.driver.execute_script(js)
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值