Operación de alerta emergente de la página [selenium]

Procesamiento de cuadro de mensaje de página de Selenium 2

  • alerta: cuadro de mensaje de alerta
  • confirmar: cuadro de mensaje de confirmación
  • aviso: cuadro de diálogo de mensaje de aviso

También hay un cuadro emergente de página, similar al inicio de sesión de Baidu, que se puede ubicar directamente e ignorar aquí.

El método de alerta operativa.

# 获取当前页面上的警告框
alert = switch_to.alert()

alert.text  # 返回文本信息
alert.accept()   # 确定
alert.dismiss()  # 取消
alert.send_keys("hello") # 输入文本

1. alerta

alert()método para mostrar un cuadro de alerta con un mensaje específico y un botón Aceptar.

ejemplo

""" 
1. 切换到 iframe 内,点击按钮,弹出弹窗
2. 弹窗内点击确定或取消
3. 退出 alert,返回初始页面
"""
driver.get("https://www.runoob.com/try/try.php?filename=tryjs_alert")
driver.switch_to.frame("iframeResult")
driver.find_element(By.XPATH, '//*[@value="显示警告框"]').click()

# 切换到 alert 弹框内
alert = driver.switch_to.alert
alert.accept()  # 点击确定

# 退出弹框界面
driver.switch_to.default_content()
assert driver.find_element(By.ID, "submitBTN").text == "点击运行 》"

2. confirmar

confirm()Método utilizado para mostrar un cuadro de diálogo con el mensaje especificado y botones de confirmación y cancelación.

Este método devuelve verdadero si el visitante hace clic en "Aceptar", de lo contrario, devuelve falso.

Dependiendo del botón en el que se haga clic, la visualización de la página será diferente.

""" 
1. 切换到 iframe 内,点击按钮,弹出弹窗
2. 弹窗内分别点击 确定/取消
3. 验证页面展示文本为:你按下了"确定/取消"按钮!
"""
driver.get("https://www.runoob.com/try/try.php?filename=tryjs_confirm")
driver.switch_to.frame("iframeResult")

# 切换到 alert 弹框内,点击「确定」,断言文案
driver.find_element(By.XPATH, "//body/button").click()  # 点我
alert = driver.switch_to.alert
alert.accept()  # 点击确定
assert driver.find_element(By.ID, "demo").text == '你按下了"确定"按钮!'

# 切换到 alert 弹框内,点击「取消」,断言文案
driver.find_element(By.XPATH, "//body/button").click()  # 点我
alert = driver.switch_to.alert
alert.dismiss()  # 点击取消
assert driver.find_element(By.ID, "demo").text == '你按下了"取消"按钮!'

3. pronta

El método prompt () se usa para mostrar un cuadro de diálogo que solicita al usuario que ingrese.

Este método devuelve la cadena ingresada por el usuario.

Apoye a los usuarios para ingresar texto en el cuadro emergente para su procesamiento posterior.

"""
1. 切换到 iframe 内,点击按钮,弹出弹窗
2. 弹窗内点击取消,验证获取文本为空,文本展示元素不存在
3. 弹窗内输入文本点击确定,验证文本展示与输入一致
"""
driver.get("https://www.runoob.com/try/try.php?filename=tryjs_prompt")

# 1. 切换到 iframe 内,点击按钮,弹出弹窗
self.driver.switch_to.frame("iframeResult")
self.driver.find_element(By.XPATH, "//body/button").click()

# 2. 弹窗内点击取消,验证获取文本为空,文本展示元素不存在
alert = self.driver.switch_to.alert
alert.dismiss()
assert self.driver.find_element(By.ID, "demo").is_selected() is False

# 3. 弹窗内输入文本点击确定,验证文本展示与输入一致
self.driver.find_element(By.XPATH, "//body/button").click()
alert = self.driver.switch_to.alert
assert alert.text == "请输入你的名字"
alert.send_keys("father")
alert.accept()
assert "father" in self.driver.find_element(By.ID, "demo").text

Supongo que te gusta

Origin blog.csdn.net/lan_yangbi/article/details/127968344
Recomendado
Clasificación