selenium处理javascript生成的alter、confirm、prompt十分简单,具体做法是使用switch_to_alter定位到alter/confirm/prompt,然后使用text/accept/dismiss/send_keys等方法进行操作。
text:返回text/confirm/prompt中的文字信息。
accep():接受现有警告
dismiss():解散现有警告
send_keys(keysToSend):发送文本至警告框
以百度首页搜索设置为例。#coding=utf-8
from selenium import webdriver
import time
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
time.sleep(2)
#鼠标悬浮于“设置”上
link = driver.find_element_by_xpath("//*[@id='u1']/a[8]")
ActionChains(driver).move_to_element(link).perform()
driver.find_element_by_link_text("搜索设置").click()
time.sleep(1)
driver.find_element_by_xpath("//*[@id='gxszButton']/a[2]").click()
time.sleep(2)
#接受警告框
driver.switch_to_alert().accept()
time.sleep(3)
driver.quit()