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

在自動化測試中常常會遇到使用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' 

相關文章
相關標籤/搜索