selenium自動化之處理瀏覽器警告彈窗

  有的網站會彈出相似以下圖的警告彈窗,你會發現這種彈窗在html源碼中怎麼也定位不到,接下來將介紹這種彈窗的處理方式。html

 

 

其實這種彈窗是不屬於html的元素的,他是屬於瀏覽器自帶的彈窗,因此用定位元素的方法是定位不了的。瀏覽器

 

瀏覽器的警告彈窗一共有三種:網站

 

  第一種:(有【肯定】【取消】按鈕的)spa

 

 

  解決方案:3d

  1.先使用 driver.switch_to.alert 切換到警告彈窗上(注意,有時候切換前須要加個等待)htm

  2.text方法能夠獲取到彈窗上的文本blog

  3.accept()方法至關於點擊肯定按鈕源碼

  4.dismiss()方法至關於點擊取消按鈕it

  代碼:方法

  time.sleep(2)
  a = driver.switch_to.alert # 新方法,切換alert
  # a = driver.switch_to_alert() # 老方法,切換alert
  print(a.text) # 獲取彈窗上的文本
  a.accept() # 確認,至關於點擊[肯定]按鈕
  # a.dismiss() # 取消,至關於點擊[取消]按鈕

  結果:

    輸出彈窗上的文本內容

  

 

第二種:(只有【肯定】按鈕的)

 

解決方案(其實這種和第一種彈窗的處理方法同樣的):

  1.先使用 driver.switch_to.alert 切換到警告彈窗上(注意,有時候切換前須要加個等待)

  2.text方法能夠獲取到彈窗上的文本

  3.accept()方法至關於點擊肯定按鈕

  4.dismiss()方法至關於關閉彈窗

  代碼:

  time.sleep(2)
  a = driver.switch_to.alert # 新方法,切換alert
  # a = driver.switch_to_alert() # 老方法,切換alert
  print(a.text) # 獲取彈窗上的文本
  a.accept() # 確認,至關於點擊[肯定]按鈕
  # a.dismiss() # 取消,至關於點擊關閉彈窗

第三種:(有輸入對話框的)

 

 

  解決方案(其實這種彈窗處理只是多加了一個方法):

  1.先使用 driver.switch_to.alert 切換到警告彈窗上(注意,有時候切換前須要加個等待)

  2.accept()方法至關於點擊肯定按鈕

  3.dismiss()方法至關於關閉彈窗

  4.send_keys()至關於在彈窗的輸入框中輸入文本

  代碼:

  time.sleep(2)
  a = driver.switch_to.alert # 新方法,切換alert
  # a = driver.switch_to_alert() # 老方法,切換alert
  a.send_keys('Kevin-liutianping') # 在彈窗上的輸入框中輸入文本內容
  a.accept() # 確認,至關於點擊[肯定]按鈕
  # a.dismiss() # 取消,至關於點擊[取消]按鈕
相關文章
相關標籤/搜索