Selenium之处理弹窗
文章目录1、弹窗种类2、弹窗上元素的处理2.1 selenium2.0的处理2.2 selenium3.0的处理1、弹窗种类警告类弹alert(),显示带有一段消息和一个【确认】按钮的警告框。。确认类弹窗confirm(),显示带有一段消息以及【确认】按钮和【取消】按钮的对话框。消息类弹窗prompt(),需要输入一些信息,比如用户密码等,下方会有【确认】和【取消】按扭name...
·
1、弹窗种类
- 警告类弹alert(),显示带有一段消息和一个【确认】按钮的警告框。。
- 确认类弹窗confirm(),显示带有一段消息以及【确认】按钮和【取消】按钮的对话框。
- 消息类弹窗prompt(),需要输入一些信息,比如用户密码等,下方会有【确认】和【取消】按扭
name=prompt("请输入您的名字","锄禾")
2、弹窗上元素的处理
2.1 selenium2.0的处理
- 获取弹窗的对象
alert=driver.switch_to_alert()
- 操作弹窗上的元素
alert.text #获取弹框上的文本内容
alert.accept() #点击确认按钮
alert.dismiss() #点击取消按钮
alert.sendkeys("锄禾") #向弹窗的输入框中录入内容
- 示例如下
from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.find_element_by_link_text("设置").click()
sleep(3)
driver.find_element_by_link_text("搜索设置").click()
sleep(3)
driver.find_element_by_link_text("保存设置").click()
sleep(3)
#处理警告窗口
alert=driver.switch_to_alert()
#获取弹窗上的文本内容
txt=alert.text
print(txt)
#点击确认按钮
alert.accept()
#点击取消按钮
#alert.dismiss()
sleep(5)
driver.quit()
2.2 selenium3.0的处理
- 兼容selenium2.0的处理方法
- 操作弹窗上的元素
driver.switch_to.alert.text #获取弹窗上的文本内容
driver.switch_to.alert.accept() #点击确认按钮
driver.switch_to.alert.dismiss() #点击取消按钮
driver.switch_to.alert.send_keys("锄禾") #弹窗的文本框录入内容
- 示例如下
from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.find_element_by_link_text("设置").click()
sleep(3)
driver.find_element_by_link_text("搜索设置").click()
sleep(3)
driver.find_element_by_link_text("保存设置").click()
sleep(3)
# #处理警告窗口
driver.switch_to.alert.text #获取弹窗上的文本内容
driver.switch_to.alert.accept() #点击确认按钮
sleep(5)
driver.quit()
3、判断是否弹窗
from selenium.webdriver.support import expected_conditions as EC
result = EC.alert_is_present()(driver)
if result:
print result.text
result.accept()
else:
print "未弹出!"
更多推荐
所有评论(0)