Selenium常見的無法定位到元素的原因


1.元素沒有加載完成,就進行定位元素

設置等待:導入時間模塊使用  time.sleep(5)

2.窗口切換  窗口句柄還處在上一個窗口,導致無法定位新窗口的元素。

3.Frame原因定位不到元素

這個是最常見的原因,首先要理解下frame的實質,frame中實際上是嵌入了另一個頁面,而webdriver每次只能在一個頁面識別,

因此需要先定位到相應的frame,對那個頁面里的元素進行定位。

4.動態id定位不到元素

每次調用頁面出現的元素的ID會動態隨機分配。

如果發現是動態id,推薦使用xpath的相對路徑方法查找到該元素。

5.二次定位,如彈出框登錄  如百度登錄彈出框登錄百度賬號,需先定位到百度彈出框,然后再定位到用戶名密碼登錄。

6.不可見元素

加一個循環判斷,找到可見元素(is_displayed())點擊登錄即可。


免責聲明!

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



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