最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

JavaScript 在 selenium 自動化中的應用

2020-09-28 17:33 作者:軟件測試檸檬班Pro  | 我要投稿

JavaScript 相對于 selenium 原生 API 的執(zhí)行速度更快,如果有遇到 selenium 難以處理的操作時,可以采用執(zhí)行 js 代碼去完成。

基本元素定位和操作

DOM 操作

移除 readonly 屬性

當輸入框使用的是選擇控件且為只讀狀態(tài)時,selenium 原生 API 無法操作控件,可以通過 js 移除 readonly 屬性。比如 12306 網站的日期選擇框。


driver.get("https://www.12306.cn/index/");String js = "document.getElementById('train_date').removeAttribute('readonly')";driver.executeScript(js);Thread.sleep(2000);driver.findElement(By.id("train_date")).sendKeys(Keys.CONTROL,"a");//清空Thread.sleep(2000);driver.findElement(By.id("train_date")).sendKeys(Keys.BACK_SPACE);//清空driver.findElement(By.id("train_date")).sendKeys("2019-03-30");//輸入


移除超鏈接的 target 屬性

當超鏈接有 target="_blank" 屬性時,點擊超鏈接會打開第新的標簽頁,如果不想進行多窗口切換操作,可以通過 js 去除 target 屬性


//<a href="https://app.mail.qq.com/" target="_blank">手機版</a>String js = "document.getElementById('xxx').removeAttribute('target')";driver.executeScript(js);


窗口滾動


driver.get("https://ke.qq.com/?tuin=68973267");//0:滾動到最頂端driver.executeScript("window.scrollTo(0,0)");//1:滾動到最底部driver.executeScript("window.scroll(0,document.body.scrollHeight)");//2:滾動到指定的位置driver.executeScript("window.scrollTo(0,500)");//3:滾動到指定元素WebElement txy = driver.findElement(By.partialLinkText("騰訊云"));driver.executeScript("arguments[0].scrollIntoView();",txy);


注入 jQuery

如果我們想在沒有引入 jquery.js 的頁面也能使用 jQuery 進行操作,可以動態(tài)注入的方式、運行如下腳本注入 jquery.js。


StringBuffer str = new StringBuffer();//創(chuàng)建一個script標簽str.append("var hm = document.createElement('script');");//設置js文件路徑str.append("hm.src = 'http://libs.baidu.com/jquery/2.0.0/jquery.min.js';");//獲得head標簽str.append("var headEle = document.getElementsByTagName('head')[0]; ");//將script標簽添加到head標簽str.append("headEle.appendChild(hm);");//執(zhí)行JavaScript完成jquery.js的注入driver.executeScript(str.toString());

聲明:本文作者為檸檬班happy老師,轉載請注明出處!

JavaScript 在 selenium 自動化中的應用的評論 (共 條)

分享到微博請遵守國家法律
深泽县| 炉霍县| 元谋县| 永泰县| 长岛县| 阿城市| 烟台市| 七台河市| 葫芦岛市| 哈密市| 绵阳市| 宝丰县| 天镇县| 江孜县| 山东省| 山东| 象州县| 绍兴县| 屯门区| 黄陵县| 醴陵市| 迁西县| 北票市| 罗甸县| 陈巴尔虎旗| 泰来县| 楚雄市| 靖远县| 涡阳县| 八宿县| 锦州市| 吉林省| 黑山县| 灵石县| 濮阳市| 定日县| 绵竹市| 宕昌县| 榆树市| 景宁| 界首市|