筆記
處理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()