如何在selenium中使用js实现定位
学习selenium的时候经常用扫的定位方式WebDriver定位方式,但是一些Windows的窗口就无力了,这时候可以用js定位
使用js定位的时候是用DOM树定位方式
eg:
document.getElementById("su");
这里就可以看出来,和浏览器中的console控制台的定位方式一样样的——果然知识都是相通的
接下来就是正题:
selenium中执行js脚本:
第一步首先强转成JavascriptExcetor:
JavaScriptExecutorjs=(JavascriptExecutor)driver;
然后用此JavascriptExcetor对象调用js定位的方法
举例:
//设置日期控件的读写属性 ((JavascriptExecutor)driver).executeScript("document.getElementById(\"fromDate\").readOnly=false"); //直接为日期控件强行赋值 JavascriptExecutorjs=(JavascriptExecutor)driver; js.executeScript("document.getElementById('fromDate').setAttribute('value','2013-06-21');"); //富文本编辑框的处理 driver.switchTo().frame("ueditor_0"); JavascriptExecutorjs=(JavascriptExecutor)driver; js.executeScript("document.body.innerHTML='ABCDEFG'"); //js模拟点击 JavascriptExecutorjs=(JavascriptExecutor)driver; js.executeScript("arguments[0].click();",driver.findElement(By.id("su"))); //滚动条操作 JavascriptExecutorjs=(JavascriptExecutor)driver; js.executeScript("document.documentElement.scrollTop=1500"); //元素赋值 document.getElementById('HD_CheckIn').value='zhangsan'; //日期类型元素赋值 JavascriptExecutorjs=(JavascriptExecutor)driver; js.executeScript("arguments[0].value=‘2016-04-20';",driver.findElement(By*****)));
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。