【python】【selenium】Selenium如何处理弹窗?

如何处理在WebDriver中处理JavaScript所生成的alert、confirm以及prompt?具体做法是使用 switch_to.alert 方法定位到 alert/confirm/prompt,然后使用text/accept/dismiss/ send_keys等方法进行操作

text:返回 alert/confirm/prompt 中的文字信息

driver.switch_to.alert.accept()    # 确认

driver.switch_to.alert.dismiss()      # 取消

driver.switch_to.alert.send_keys("输入数据")    # 在弹出框输入内容

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.get("D:\\test\script\study\seleniumStu\警告框.html")

# # 触发对话框
# driver.find_element_by_id("bu1").click()
# al = driver.switch_to.alert
# time.sleep(3)
# al.accept()  # 确认对话框


# # 触发确认框
# driver.find_element_by_id("bu2").click()
# al = driver.switch_to.alert
# al.accept()  # 确认对话框
# driver.find_element_by_id("bu2").click()
# al.dismiss()  # 取消对话框

# 触发提示框
driver.find_element_by_id("bu3").click()
al = driver.switch_to.alert
al.send_keys("输入数据")
al.accept()  # 确认对话框

time.sleep(3)
driver.quit()

 

posted @ 2022-03-28 16:05  放手Forrest  阅读(238)  评论(0)    收藏  举报