selenium+Python(alert 、confirm 、prompt 的處理)



alert\confirm\prompt 彈出框操作主要方法有:

  • text  返回 alert/confirm/prompt 中的文字信息
  • accept  點擊確認按鈕
  • dismiss 點擊取消按鈕,如果有的話
  • send_keys 輸入值,這個 alert\confirm 沒有對話框就不能用了,不然會報錯。

在實際的應用中,我們會碰到各種交互的彈窗,在上面百度搜索設置的例子中,我們用
switch_to_alert() 處理警告框非常簡單;其實,對於原生的 js alert 、confirm 以及 prompt
都可以通過 webdriver 的 switch_to_alert()方法進行處理

1、alert 操作

1.先用 switch_to_alert()方法切換到 alert 彈出框上
2.可以用 text 方法獲取彈出的文本 信息
3.accept()點擊確認按鈕
4.dismiss()相當於點右上角 x,取消彈出框

#接受警告信息
alert = driver.switch_to_alert()
alert.accept()
#得到文本信息打印
alert = driver.switch_to_alert()
print alert.text()
#取消對話框(如果有的話)
alert = driver.switch_to_alert()
alert.dismiss()
#輸入值
alert = driver.switch_to_alert()
alert.send_keys(“xxx”)

  下面以操作百度的設置為例:

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
#訪問百度
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
#鼠標懸停在設置上,並展示后面的操作
link=driver.find_element_by_link_text('設置')
ActionChains(driver).move_to_element(link).perform()

driver.find_element_by_link_text("搜索設置").click()
#保存設置
driver.find_element_by_class_name("prefpanelgo").click()
time.sleep(3)
#跳轉進入對話框
alert=driver.switch_to_alert()
# 打印警告框文字
print alert.text()
#接受彈出的對話框
alert.accept()
#alert.dismiss()相當於點右上角 x,取消彈出框
driver.close()

2、confirm操作

1.先用 switch_to_alert()方法切換到 alert 彈出框上
2.可以用 text 方法獲取彈出的文本 信息
3.accept()點擊確認按鈕
4.dismiss()相當於點取消按鈕或點右上角 x,取消彈出框

3、 prompt 操作

1.先用 switch_to_alert()方法切換到 alert 彈出框上
2.可以用 text 方法獲取彈出的文本 信息
3.accept()點擊確認按鈕
4.dismiss()相當於點右上角 x,取消彈出框
5.send_keys()這里多個輸入框,可以用 send_keys()方法輸入文本內容

 


免責聲明!

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



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