selenium - switch_to_alert() - 警告框处理
Posted 小猪爱jshell
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium - switch_to_alert() - 警告框处理相关的知识,希望对你有一定的参考价值。
在WebDriver中处理javascript所生成的alert、confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confirm/prompt,然后使用text/accept/dismiss/ send_keys等方法进行操作。
-
text:返回 alert/confirm/prompt 中的文字信息。
-
accept():接受现有警告框。
-
dismiss():解散现有警告框。
-
send_keys(keysToSend):发送文本至警告框。keysToSend:将文本发送至警告框
如下图,百度搜索设置弹出的窗口是不能通过前端工具对其进行定位的,这个时候就可以通过switch_to_alert()方法接受这个弹窗。
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from time import sleep driver = webdriver.Chrome() driver.implicitly_wait(10) driver.get("http://www.baidu.com") # 鼠标悬停至"设置连接 link = driver.find_element_by_link_text(\'设置\') ActionChains(driver).move_to_element(link).perform() # 打开搜索设置 driver.find_element_by_link_text(\'搜索设置\').click() sleep(2) # 保存设置 driver.find_element_by_class_name(\'prefpanelgo\').click() sleep(2) # 接受警告框 text = driver.switch_to_alert().text print(text) sleep(5) driver.switch_to_alert().accept() sleep(10) driver.quit()
Results:
已经记录下您的使用偏好
通过switch_to_alert()方法获取当前页面上的警告框,并使用accept()方法接受警告框。
全文摘自:http://www.testclass.net/selenium_python/alert-windows/
以上是关于selenium - switch_to_alert() - 警告框处理的主要内容,如果未能解决你的问题,请参考以下文章