首页 > 其他 > 详细

Selenium 3----警告框处理+下拉框选择

时间:2019-03-26 14:55:05      阅读:163      评论:0      收藏:0      [点我收藏+]

警告框处理

在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
# 引入 ActionChains 类
from selenium.webdriver.common.action_chains import ActionChains #导入提供鼠标操作的 ActionChains 类,也可from selenium.webdriver import ActionChains

import time

driver = webdriver.Chrome()
#设置隐式等待时间为10秒
driver.implicitly_wait(10)
driver.get(https://www.baidu.com)
#鼠标悬停至“设置”链接
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_class_name("prefpanelgo").click()
time.sleep(2)

#接受警告框
driver.switch_to.alert.accept() # switch_to_alert()方法获取当前页面上的警告框,并使用accept()方法接受警告框。

driver.quit()

 

下拉框选择

WebDriver提供了Select类来处理下拉框。 如百度搜索设置的下拉框,如下:

Select类用于定位select标签。

select_by_value() 方法用于定位下接选项中的value值。

from selenium import webdriver
from selenium.webdriver.support.select import Select
from time import sleep

driver = webdriver.Chrome()
#设置隐式等待时间为10秒
driver.implicitly_wait(10)
driver.get(https://www.baidu.com)

#鼠标悬停至“设置”链接
driver.find_element_by_link_text(设置).click()
sleep(1)

#打开搜索设置
driver.find_element_by_link_text("搜索设置").click()
sleep(2)

#搜索结果显示条数
sel = driver.find_element_by_xpath("//select[@id=‘nr‘]")
Select(sel).select_by_value(50)  #显示50条 Select类用于定位select标签,select_by_value() 方法用于定位下接选项中的value值。

driver.quit()

 

Selenium 3----警告框处理+下拉框选择

原文:https://www.cnblogs.com/nfgg/p/10600092.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!