1. 程式人生 > >Python Selenium 獲取不到彈出框的另外一種思路

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

定位 smi 但是 element button 圖片 color 遇到 dism

大家都知道彈出框大致可以分為三種: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(讀取超時,刷新後重試!)

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

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