如何在selenium中使用js实现定位

时间:2021-05-18

学习selenium的时候经常用扫的定位方式WebDriver定位方式,但是一些Windows的窗口就无力了,这时候可以用js定位

使用js定位的时候是用DOM树定位方式

eg:

document.getElementById("su");

这里就可以看出来,和浏览器中的console控制台的定位方式一样样的——果然知识都是相通的

接下来就是正题:

selenium中执行js脚本:

第一步首先强转成JavascriptExcetor:

JavaScriptExecutor js = (JavascriptExecutor) driver;

然后用此JavascriptExcetor对象调用js定位的方法

举例:

// 设置日期控件的读写属性((JavascriptExecutor) driver).executeScript("document.getElementById(\"fromDate\").readOnly=false");// 直接为日期控件强行赋值JavascriptExecutor js = (JavascriptExecutor) driver;js.executeScript("document.getElementById('fromDate').setAttribute('value','2013-06-21');");// 富文本编辑框的处理driver.switchTo().frame("ueditor_0");JavascriptExecutor js = (JavascriptExecutor) driver;js.executeScript("document.body.innerHTML='ABCDEFG'");//js模拟点击JavascriptExecutor js = (JavascriptExecutor) driver;js.executeScript("arguments[0].click();",driver.findElement(By.id("su")));//滚动条操作JavascriptExecutor js = (JavascriptExecutor) driver;js.executeScript("document.documentElement.scrollTop=1500");//元素赋值document.getElementById('HD_CheckIn').value='zhangsan';//日期类型元素赋值JavascriptExecutor js = (JavascriptExecutor) driver;js.executeScript("arguments[0] .value=‘2016-04-20';",driver.findElement(By*****)));

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章