Python+selenium定位不到元素的問題及解決方案


在操作過程中主要遇到兩種阻塞的問題,總結如下:

1、頁面中有iframe,定位元素時,需要用switch_to.frame()轉換到元素所在的frame上再去定位

2、遇到一種新情況,有些按鈕在html上沒有被賦予herf鏈接,而是由javascript控制跳轉到新的頁面,這種情況下點擊按鈕之后瀏覽器上打開一個新頁面,但是瀏覽器的句柄handle仍然會停留在原頁面(瀏覽器顯示的句柄在新頁面,所以不容易發現這個問題),而不是新彈出的頁面上,所以要定位新頁面的元素,必須先將句柄轉移到新彈出的頁面上,再去進行定位,用到如下語句:

#獲得瀏覽器上所有窗口

handles = driver.window_handles

#轉換到最新彈出的窗口

driver.switch_to.window(driver.window_handles[len(handles)-1])

跳轉需要時間的話,加上time.sleep(2),再試就能定位成功了


免責聲明!

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



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