您好,登錄后才能下訂單哦!
這篇文章主要介紹了在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*****)));
感謝你能夠認真閱讀完這篇文章,希望小編分享在selenium中使用js實現定位的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。