笔记
处理JavaScript生成的alert、confirm和prompt:先使用switch_to.alert()定位,然后通过text/accept/dismiss/send_keys等进行操作
- text: 返回alert/confirm/prompt中的文字信息
- accept():接受现有警告框
- dismiss():解散现有警告框
- send_keys():在警告框中输入文本(如果可以输入的话)。
练习
通过switch_to.alert()方法为百度搜索设置弹窗
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
# 打开搜索设置
link = driver.find_element_by_partial_link_text('设置').click()
driver.find_element_by_link_text("搜索设置").click()
sleep(2)
# 保存设置
driver.find_element_by_class_name("prefpanelgo").click()
sleep(2) # 缺少等待则可能因加载未完成无法定位警告框
# 获取警告框
al = driver.switch_to.alert
# 获取警告框提示信息
print(al.text)
# 接受警告框
al.accept()
sleep(2)
driver.quit()