0
点赞
收藏
分享

微信扫一扫

Selenium23-JavaScript

执行JavaScript

  • JavaScript(简称js)是运行在客户端(浏览器)和服务器端的脚本语言,允许将静态网页转换为交互式网页。
  • 可以通过Selenium执行js,这使selenium拥有更为强大的能力。

执行JavaScript应用场景

  • 直接使用js操作页面,能解决很多click()或send_keys(“xx”)不生效的问题
  • 全页面截屏、或者高亮元素截屏
  • 页面滚动
  • 处理时间控件的输入(移除元素隐藏、禁用、只读等限制属性)

执行JavaScript语法

driver.execute_script(js,*args)
element = driver.find_element(By.ID,"keyword")
style = "background:red;border:2px solid yellow;"
driver.execute_script("arguments[0].setAttribute('style',arguments[1]);",element,style)

  • 在js里使用关键字return可以返回js的执行结果

title = driver.execute_script("return document.title")
print(title)

JavaScript设置后截屏

Selenium23-JavaScript_js代码

用js点击元素和输入数据

Selenium23-JavaScript_日历控件_02

页面滚动

Selenium23-JavaScript_js代码_03

滚动到指定页面元素位置

Selenium23-JavaScript_js代码_04

测试日历控件

  • 日历控件测试问题
  • Selenium无法模拟日历手工操作时选择日期的具体步骤
  • Selenium日历控件处理方式
  • 写js代码来去除日期的readonly属性:
    页面元素.removeAttribute(“readonly”);
  • 写js代码来给日期文本框的value赋值:
    页面元素.value=”2022-06-01”;
  • ​​https://news.sina.com.cn/​​​ 设置日历日期为:2022-06-01


举报

相关推荐

0 条评论