在自動化測試中常常會遇到使用selenium方法定位元素點擊操做失敗的狀況,例如,咱們想實如今瀏覽器輸入http://www.baidu.com,進入百度首頁後,鼠標懸停在「更多產品」上,點擊「所有產品」css
若不使用js的話,代碼應該以下圖所示:html
咱們執行代碼後,發現會報錯瀏覽器
咱們該如何解決這個問題呢,那就要用到這篇文章的主角js了,將代碼修改成以下內容,執行代碼,發現頁面正常跳轉了測試
咱們在編寫自動化測試用例的過程當中,有時會遇到某個元素的長寬設置的比較大,將咱們想要點擊的元素遮擋住了,該怎麼辦?咱們可使用js的方法,先將遮擋咱們的元素去掉,這裏舉個例子,咱們利用js去掉百度的搜索按鈕,執行如下代碼htm
執行代碼後,咱們發現百度搜索按鈕消失了blog
想看看js的效果的話,咱們能夠直接在瀏覽器按一下F12的按鍵,鼠標點擊Console或者控制檯get
打開百度首頁,按F12後,在控制檯輸入document.getElementById("kw").value="你喊",以後輸入回車後,看一下效果吧selenium
JS的使用方法:產品
1、查找元素:it
一、根據元素的id查找元素:document.getElementById(元素id值)
二、根據元素的class屬性查找元素:document.getElementsByClassName(元素class值)
三、根據元素的TagName屬性查找元素:document.getElementsByTagName(標籤名)
四、根據css屬性查找元素:①查找一個元素:document.querySelector(css表達式)
②查找多個元素:document.querySelectorAll(css表達式)
2、獲取元素屬性:
一、document.getElementByXXX("").屬性名
二、document.getElementByXXX("").getAttribute(屬性名)
3、修改元素屬性
一、document.getElementByXXX("").屬性名=屬性值
二、document.getElementByXXX("").setAttribute(屬性名,屬性值)
4、獲取元素內容
1)獲取的內容包含html標籤:
document.getElementByXXX(" ").innerHTML
2)獲取的內容不包含html標籤,純文本:
document.getElementByXXX(" ").innerText
5、修改元素內容:
1)獲取的內容包含html標籤:
document.getElementByXXX(" ").innerHTML=new HTML
2)獲取的內容不包含html標籤,純文本:
document.getElementByXXX(" ").innerText = 文本文字
6、修改樣式:
document.getElementByXXX(" ").style.樣式名=樣式值
例如:元素的可見性:document.getElementByXXX(" ").style.visibility='hidden'
元素的顏色:document.getElementByXXX(" ").style.color='blue'