警告框处理和下拉框选择
一、警告框处理
PS:三种警告框alert/confirm/prompt(具体样式可以百度。。。)
1、text:获取文本值
driver.switch_to.alert.text
2、accept():接受警告框
driver.switch_to.alert.accept()
3、dismiss():关闭(取消)警告框
driver.switch_to.alert.dismiss()
4、send_keys():发送文本到警告框
driver.switch_to.alert.send_keys()
示例:
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('http://www.baidu.com')
link = driver.find_element_by_link_text('设置')
ActionChains(driver).move_to_element(link).perform()# 鼠标悬停至“设置”链接
driver.find_element_by_link_text("搜索设置").click()# 打开搜索设置
sleep(2)
driver.find_element_by_class_name("prefpanelgo").click()# 保存设置
sleep(2)
#获取警告框的文本信息
t=driver.switch_to.alert.text
print(t)
#接受警告框
driver.switch_to.alert.accept()
#关闭(取消)警告框
# driver.switch_to.alert.dismiss()
#发送文本到警告框
# driver.switch_to.alert.send_keys()#示例中无效
driver.quit()
二、下拉框选择
1、导入Select方法
from selenium.webdriver.support.select import Select
2、通过索引定位
select_by_index() :通过索引定位
3、通过value值定位
select_by_value() :通过value值定位
4、通过文本值定位
select_by_visible_text() :通过文本值定位
示例:
from selenium import webdriver
from selenium.webdriver.support.select import Select
from time import sleep
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('http://www.baidu.com')
driver.find_element_by_link_text('设置').click()# 点击设置
sleep(2)
driver.find_element_by_link_text("搜索设置").click()# 点击搜索设置
sleep(2)
# 搜索结果显示条数
sou = driver.find_element_by_xpath("//select[@id='nr']")
Select(sou).select_by_index(1)#显示20条
sleep(2)
Select(sou).select_by_value("50")#显示50条
sleep(2)
Select(sou).select_by_visible_text("每页显示20条")#显示20条
sleep(2)
driver.quit()
Select的其他功能:
deselect_all() :取消所有选项
deselect_by_index() :取消对应index选项
deselect_by_value() :取消对应value选项
deselect_by_visible_text() :取消对应文本选项
first_selected_option():返回第一个选项
all_selected_options():返回所有的选项