【如何学习Python自动化测试】—— 警告框处理

7 、 警告框处理

      在 web 中,除了上面提到的元素和操作之外,还有就是页面的提示框的处理了,页面的警告框通常分为这几类 js:alert 、 confirm 以及 prompt,这些警告框,我们都可以通过 switch_to_alert()来处理。
      对警告框的处理有以下几种:

  • 接受警告框:使用 alert.accept() confirm.accept()prompt.accept()方法,点击“确定”按钮,关闭警告框。
  • 拒绝警告框:使用confirm.dismiss()prompt.dismiss()方法,点击“取消”按钮,关闭警告框。
  • 获取警告框文本:使用alert.textconfirm.textprompt.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等自动化测试工具来完成这些操作。如果是手动操作,则需要使用鼠标进行点击。

你可能感兴趣的:(软件测试,学习,python,自动化)