Python Selenium 獲取不到彈出框的另外一種思路


大家都知道彈出框大致可以分為三種:1.警告消息框(alert)、2.確認消息框(confirm)、3.提示消息對話(prompt)

而selenium 提供switch_to_alert()方法來定位:

  • switch_to_alert()   #定位彈出對話
  • text()                  #獲取對話框文本值
  • accept()                   #相當於點擊"確認"
  • dismiss()                  #相當於點擊"取消"
  • send_keys()             # 輸入值

上面的都是一般彈出框的處理方法,但是我在項目中遇到了一個DIV模擬的窗口,用以上方法都獲取不到這個彈出框:

例如:

 

在常規方法都試過后,我想到兩個解決思路:1.返回當前頁面最頂層,然后獲取頁面值;2.定位是否有確認按鈕來判斷彈出框。

而在這里,我選擇了第2種方法:

1     try:
2       driver.find_element_by_xpath("/html/body/div[10]/div/div[2]/button").click()
3     except:
4         print('抄到數據次數:')
5     else:
6         print('讀取超時,刷新后重試!')

有時候換一種思路…事情就能夠得到解決。

 


免責聲明!

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



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