在Webdriver中处理JavaScript生成的alert、confirm、prompt,使用switch_to_alert()方法定位到alert、confirm、prompt,然后进行如下操作:

  • text:返回alert/confirm/prompt中的文字信息
  • accept():接受现有警告框
  • dismiss():解散现有警告框
  • sendkeys(keysToSend):发送文本至警告框

案例:点击百度首页设置按钮,然后进入搜索设置页面,点击“保存设置”或“恢复默认”按钮,处理警告弹窗窗口

alert.py

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains

driver=webdriver.Firefox()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")

# driver.find_element_by_link_text('设置').click()
# 鼠标悬停字“设置”链接
link = driver.find_element_by_link_text('设置')
ActionChains(driver).move_to_element(link).perform()

# 打开搜索设置
driver.find_element_by_link_text('搜索设置').click()

# 保存设置
driver.find_element_by_link_text('保存设置').click()
# driver.find_element_by_link_text('恢复默认').click()

# 打印警告框的文字信息
print(driver.switch_to_alert().text)

# 接受警告框
driver.switch_to_alert().accept()

driver.quit()

页面显示:

posted on 2018-01-06 16:03  NancyRM  阅读(641)  评论(0编辑  收藏  举报