Selenium 警告框处理
Posted eastonliu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium 警告框处理相关的知识,希望对你有一定的参考价值。
警告框分三种类型:
- alert:显示带有一条指定消息和一个 OK 按钮的警告框。
- confirm:显示一个带有指定消息和 OK 及取消按钮的对话框。
- prompt:显示可提示用户进行输入的对话框。
我们就来一一认识他们的形状
alert:
confirm:
prompt:
警告框操作
主要操作方法有:
- text:获取警告框中的文字信息
- accept():接受警告框,相当于点击"确认"
- dismiss():解散警告框,相当于点击“取消”或叉掉警告框
- send_keys():在警告框中输入文本
我们以百度搜索设置警告框为例:
代码:
# coding = utf-8 from selenium import webdriver from selenium.webdriver.support.select import Select from selenium.webdriver.common.action_chains import ActionChains from time import sleep # 驱动文件路径 driverfile_path = r\'D:\\coship\\Test_Framework\\drivers\\chromedriver.exe\' # 启动浏览器 driver = webdriver.Ie(executable_path=driverfile_path) # 打开百度首页 driver.implicitly_wait(10) driver.get(r\'https://www.baidu.com/\') # 移动鼠标到设置上,再点击搜索设置 set = driver.find_element_by_link_text("设置") ActionChains(driver).move_to_element(set).perform() driver.find_element_by_link_text("搜索设置").click() # 通过text定位 sel = driver.find_element_by_css_selector("select#nr") Select(sel).select_by_visible_text("每页显示20条") # 点击保存设置 driver.find_element_by_link_text("保存设置").click() # 切换到警告框上 sleep(3) ale = driver.switch_to_alert() # 获取警告框文本信息 text = ale.text print(text) # 接受警告框 ale.accept() # 叉掉警告框 # ale.dismiss() # 退出 sleep(5) driver.quit()
在这里注意下,切换到警告框,只能用switch_to_alert(),不能用switch_to.alert()
以上是关于Selenium 警告框处理的主要内容,如果未能解决你的问题,请参考以下文章