【selenium】自動化測試中,元素無法點擊定位等問題的解決:js的使用方法


在自動化測試中經常會遇到使用selenium方法定位元素點擊操作失敗的情況,例如,我們想實現在瀏覽器輸入http://www.baidu.com,進入百度首頁后,鼠標懸停在“更多產品”上,點擊“全部產品”

若不使用js的話,代碼應該如下圖所示:

我們執行代碼后,發現會報錯

我們該如何解決這個問題呢,那就要用到這篇文章的主角js了,將代碼修改為如下內容,執行代碼,發現頁面正常跳轉了

我們在編寫自動化測試用例的過程中,有時會遇到某個元素的長寬設置的比較大,將我們想要點擊的元素遮擋住了,該怎么辦?我們可以使用js的方法,先將遮擋我們的元素去掉,這里舉個例子,我們利用js去掉百度的搜索按鈕,執行以下代碼

執行代碼后,我們發現百度搜索按鈕消失了

 

想看看js的效果的話,我們可以直接在瀏覽器按一下F12的按鍵,鼠標點擊Console或者控制台

打開百度首頁,按F12后,在控制台輸入document.getElementById("kw").value="你喊",之后輸入回車后,看一下效果吧

JS的使用方法:

一、查找元素:

1、根據元素的id查找元素:document.getElementById(元素id值)

2、根據元素的class屬性查找元素:document.getElementsByClassName(元素class值)

3、根據元素的TagName屬性查找元素:document.getElementsByTagName(標簽名)

4、根據css屬性查找元素:①查找一個元素:document.querySelector(css表達式)

            ②查找多個元素:document.querySelectorAll(css表達式)

二、獲取元素屬性:

1、document.getElementByXXX("").屬性名

2、document.getElementByXXX("").getAttribute(屬性名)

三、修改元素屬性

1、document.getElementByXXX("").屬性名=屬性值

2、document.getElementByXXX("").setAttribute(屬性名,屬性值)

四、獲取元素內容

1)獲取的內容包含html標簽:

  document.getElementByXXX(" ").innerHTML

2)獲取的內容不包含html標簽,純文本:

  document.getElementByXXX(" ").innerText

五、修改元素內容:

1)獲取的內容包含html標簽:

  document.getElementByXXX(" ").innerHTML=new HTML

2)獲取的內容不包含html標簽,純文本:

  document.getElementByXXX(" ").innerText = 文本文字

六、修改樣式:

document.getElementByXXX(" ").style.樣式名=樣式值

例如:元素的可見性:document.getElementByXXX(" ").style.visibility='hidden'

   元素的顏色:document.getElementByXXX(" ").style.color='blue' 

 


免責聲明!

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



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