警告框处理和下拉框选择
一、警告框处理
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():返回所有的选项