1. 定位<select>类型下拉框
如图:
from selenium.webdriver.support.ui import Select
# 通过index进行选择
Select(driver.find_element_by_name("form:j_idt163")).select_by_index(1)
# 通过value进行选择
Select(driver.find_element_by_name("form:j_idt163")).select_by_value("中风险")
# 通过选项文字进行选择
Select(driver.find_element_by_name("form:j_idt163")).select_by_visible_text("低风险")
2. 定位非<select>标签的下拉菜单
定位非标签的下拉菜单中的选项,需要两个步骤,先定位到下拉菜单,再对其中的选项进行定位。
如图:
# 先定位到下拉菜单
ul = driver.find_element_by_css_selector("div#select2_container > ul")
# 再对下拉菜单中的选项进行选择
ul.find_element_by_id("li2_input_2").click()
3. 输入检索式选择框
定位这种类型的选择框分三个步骤:先定位输入框输入关键字 —> 然后定位检索出来的选择列表框 —> 最后定位相应的值。
如图:
# 先定位输入框输入关键字
driver.find_element_by_id('id').send_keys('ab')
# 然后定位ul
ul = driver.find_element_by_css_selector(".ui-autocomplete-items")
# 最后定位里面所有值
li = ul.find_elements_by_tag_name('li')
# 选取想要的值
li[0].click() # 0代表选择第一个值
原文:https://www.jianshu.com/p/9c459b9cc5a9