selenium提供了一个调用js的api,方便我们在selenium脚本中调用js.
复用浏览器:
调试时使用浏览器的--remote-debugging-port功能,可以不用每次运行脚本都启动一次浏览器
1.将chrome浏览器配置为环境变量
2.关闭所有浏览器
3.dos中输入命令:chorme --remote-debugging-port=9222
4.自动化脚本中添加:
ChromeOptions options=new ChromeOptions();
options.setExperimentalOption("debuggingAdress","127.0.0.1:9222");
driver=new ChromeDriver(options);
脚本中使用方法如下:
JavascriptExecutor jsdriver=(JavascriptExecutor)driver;
jsdriver.execute_script("window.alert('弹窗测试')");
jsdriver.execute_script("a=document.getElementById('kw').value;window.alert(a)");
返回:
jsdriver.execute_script("return document.getElementById('kw').value")
例如:处理12306中的时间控件
1.先取消时间控件中日期的readonly属性
2.给value赋值为测试值
document.getElementById('train_date').value;
document.getElementById('train_date').value='2022-2-22';