(1)定位<select>标签的下拉菜单
通过代码定位,首先导入Select模块:
from selenium.webdriver.support.select import Select
Select提供了三种方法:
1 select_by_index # 通过索引定位 2 select_by_value # 通过value值定位 3 select_by_visible_text # 通过文本值定位
#通过index进行选择
Select(driver.find_element_by_id("aoe")).select_by_index("1")
#通过value进行选择
#Select(driver.find_element_by_id("aoe")).select_by_value("20")
#通过选项文字进行选择
#Select(driver.find_element_by_id("aoe")).select_by_visile_text("通用卡")
注意事项:
index索引是从“0”开始;
value是option标签的一个属性值,并不是显示在下拉框中的值;
visible_text是在option标签中间的值,是显示在下拉框的值;
Select only works on <select> elements(Select只对<select>标签的下拉菜单有效)
(2)定位非<select>标签的下拉菜单
定位非<select>标签下的选项,采用二次定位的方法:即需要先定位到下拉框,再定位选项
driver.find_element_by_id("aoe").find_element_by_name("swk").click()
注意:也可用此二次定位方法来定位<select>标签下的选项
(3)鼠标悬浮菜单定位
引入ActionChains模块
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
先定位到顶级菜单
x = browser.find_element_by_link_text('aoe')
再将鼠标移到悬浮菜单上
ActionChains(driver).move_to_element(x).perform()
再定位到相应的元素并点击
driver.find_element_by_id('mlgb').click()
举例如下:
打开百度---设置---搜索设置(鼠标悬浮菜单定位)----单选框定位----单选框定位----select下拉菜单定位---select下拉菜单定位---单选框定位---alert弹出框定位
举例如下:
打开百度---更多产品---音乐(悬浮下拉菜单定位)----MV---输入成都----搜索----点击播放