如何在selenium中使用js實現(xiàn)定位
更新時間:2020年08月18日 10:41:14 作者:深藏blueblueblue
這篇文章主要介紹了如何在selenium中使用js實現(xiàn)定位,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
學習selenium的時候經常用掃的定位方式WebDriver定位方式,但是一些Windows的窗口就無力了,這時候可以用js定位
使用js定位的時候是用DOM樹定位方式
eg:
document.getElementById("su");
這里就可以看出來,和瀏覽器中的console控制臺的定位方式一樣樣的——果然知識都是相通的
接下來就是正題:
selenium中執(zhí)行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執(zhí)行Javascript腳本參數(shù)及返回值過程詳解
- Python爬蟲圖片懶加載技術 selenium和PhantomJS解析
- python爬蟲selenium和phantomJs使用方法解析
- 詳解Selenium+PhantomJS+python簡單實現(xiàn)爬蟲的功能
- selenium在執(zhí)行phantomjs的API并獲取執(zhí)行結果的方法
- selenium設置proxy、headers的方法(phantomjs、Chrome、Firefox)
- Python爬蟲使用Selenium+PhantomJS抓取Ajax和動態(tài)HTML內容
- C#使用Selenium+PhantomJS抓取數(shù)據
相關文章
教你如何自定義百度分享插件以及bshare分享插件的分享按鈕
在項目中我們常用到百度分享插件或者bshare分享插件,雖然官方都有自定義按鈕的功能,但是畢竟還是只有少數(shù)幾種,我們如何來制作有自己特色的分享按鈕呢?2014-06-06