7 、 警告框处理
在 web 中,除了上面提到的元素和操作之外,还有就是页面的提示框的处理了,页面的警告框通常分为这几类 js:alert 、 confirm 以及 prompt,这些警告框,我们都可以通过 switch_to_alert()
来处理。
对警告框的处理有以下几种:
- 接受警告框:使用
alert.accept()
或confirm.accept()
或prompt.accept()
方法,点击“确定”按钮,关闭警告框。 - 拒绝警告框:使用
confirm.dismiss()
或prompt.dismiss()
方法,点击“取消”按钮,关闭警告框。 - 获取警告框文本:使用
alert.text
或confirm.text
或prompt.text
属性,获取警告框上的文本信息。 - 输入信息:使用
prompt.send_keys()
方法,向警告框中输入需要的信息。
弹窗的处理
A、警告提示弹窗
- 【描述】:包含提示信息和【确认】按钮
- 【操作】:1、获取弹窗内容;2、进行“确认”操作
- 【语法实现】
- 1、获取弹窗内容:
driver.switch_to.alert.text
- 2、进行确认操作:
driver.switch_to.alert.accept()
B、确认弹窗
- 【描述】:包含提示信息和【确认】【取消】按钮
- 【操作】:1、获取弹窗内容;2、进行“确认”操作;3、进行取消操作
- 【语法实现】
- 1、获取弹窗内容:
driver.switch_to.alert.text
- 2、进行确认操作:
driver.switch_to.alert.accept()
- 3、进行取消操作:
driver.switch_to.alert.dismiss()
C、输入信息提示弹窗
- 【描述】:包含提示信息、输入信息框和【确认】【取消】按钮
- 【操作】:1、获取弹窗内容;2、输入框输入信息;3、进行“确认”操作;4、进行取消操作
- 【语法实现】
- 1、获取弹窗内容:
driver.switch_to.alert.text
- 2、输入框输入信息:
driver.switch_to.alert.send_keys()
- 3、进行确认操作:
driver.switch_to.alert.accept()
- 4、进行取消操作:
driver.switch_to.alert.dismiss()
将下列代码保存为.html 文件,点击上面的清空数据的按钮,会产生一个 confirm 的警告框,点击确定,则输入框内显示确定,点击取消,则输入框显示取消,接下来对这 个警告框进行处理。代码如下:
<script> function clear1() { if(confirm("确定要清空数据吗?")) { document.main.text1.value = "确定"; } else { document.main.text1.value = "取消"; } } </script> <body> <form name="main"> <input type="text" name="text1" /> <input type="button" name="Submit" value="清空数据" onClick="return clear1();"> </form> </body>
from selenium import webdriver 导入 webdriver from time import sleep 需要用到 sleep 来暂停,所以这里导入 time 的 sleep 模块 driver = webdriver.Firefox()打开 firefox 浏览器 driver.get('file:///D:/test/test1.html') 打开 html 文件 driver.find_element_by_css_selector('body > form:nth-child(1) > input:nth-child(2)').click() 点击按钮 text=driver.switch_to_alert().text 获取警告框的文本,赋给 text 变量 print text 将文本输出 driver.switch_to_alert().dismiss () 点击警告框中的取消 sleep(3) 等待 3 秒 driver.find_element_by_css_selector('body > form:nth-child(1) > input:nth-child(2)').click() 再次点击按钮 driver.switch_to_alert().accept() 点击警告框中的确定
问一问:
chrome中带单选框的弹窗要怎么操作单选框呢?比如调用迅雷下载时,每次都弹出是否打开迅雷的提示,左边会有个单选框来勾选不再提示。
在Chrome中操作带有单选框的弹窗,可以通过以下步骤进行:
定位到弹窗:使用合适的选择器或定位方式,找到包含单选框的弹窗元素。
选择单选框:查找并定位到需要选择的单选框元素。
点击选择:使用适当的方法或操作,点击选中单选框。可以使用click()方法或模拟鼠标点击事件。
验证选择:根据需要,可以获取所选择的单选框的状态进行验证。可以使用isSelected()方法来检查是否选中。
需要注意的是,具体的实现可能会因为不同的页面和技术而有所不同。可以使用Selenium等自动化测试工具来完成这些操作。如果是手动操作,则需要使用鼠标进行点击。