Selenium-测试对象操作之:下拉列表、单选按钮、隐藏菜单、alert弹框
操作策略:1.首先定位到下拉列表
2.在1的基础上选择下拉列表中的选项
案例:以百度“设置”--》“搜索设置”页面为例
#encoding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.wait import WebDriverWait
import time
browser=webdriver.Chrome()
browser.get("http://www.baidu.com")
browser.maximize_window()
#设置显示等待时间,超时10秒,每隔0.5秒调用一次until()
wait = WebDriverWait(browser,10)
#定位到“设置”菜单,此处用到了显示等待“设置”元素
setting_menu = wait.until(lambda ele : ele.find_element_by_link_text("设置"))
#鼠标悬停到“设置”菜单,显示出隐藏的菜单 隐藏菜单操作
'''此处引入ActionChains类,模拟鼠标操作,move_to_element方法实现鼠标悬停在“设置”上
从而显示隐藏的菜单
'''
actions= ActionChains(browser)
actions.move_to_element(setting_menu).perform()
#点击“搜索设置”
'''写成下面这样会引发超时异常,但是却已经进入了“搜索设置”页面
sousuo_setting = wait.until(lambda ele : ele.find_element_by_link_text("搜索设置").click())
'''
sousuo_setting = wait.until(lambda ele : ele.find_element_by_link_text("搜索设置"))
sousuo_setting.click()
#搜索结果显示条数:50 下拉列表操作
select = wait.until(lambda ele : ele.find_element_by_id("nr"))
'''先定位到下拉框'''
select.find_element_by_css_selector("#nr > option[value=\"50\"]").click()
#搜索历史记录:显示 单选按钮操作
browser.find_element_by_id("sh_1").click()
#保存设置
browser.find_element_by_link_text("保存设置").click()
#点击alert alert弹框操作
time.sleep(2)
'''
点击alert之前设置等待否则找不到alert弹框
'''
browser.switch_to_alert().accept()