selenium中js定位


學習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*****)));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM