美文网首页
selenium之定位下拉框(Select)

selenium之定位下拉框(Select)

作者: ying_728 | 来源:发表于2020-09-15 14:04 被阅读0次

https://www.jianshu.com/p/9c459b9cc5a9

1. 定位<select>类型下拉框

select类型下拉框如图

select下拉框

fromselenium.webdriver.support.uiimportSelect# 通过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("低风险")

获取下拉框的value值和文本内容

#选择下啦框select=driver.find_element_by_name("form:j_idt163")# 获取select里面的option标签,注意使用find_elementsoptions_list=select.find_elements_by_tag_name('option')# 遍历optionforoptioninoptions_list:#获取下拉框的value和textprint("Value is:%s  Text is:%s"%(option.get_attribute("value"),option.text))

注:Select只对<select>标签的下拉菜单有效

2. 定位非<select>标签的下拉菜单

定位非标签的下拉菜单中的选项,需要两个步骤,先定位到下拉菜单,再对其中的选项进行定位。

如下图

非<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代表选择第一个值

作者:test小星星

链接:https://www.jianshu.com/p/9c459b9cc5a9

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • selenium之定位下拉框(Select)

    1. 定位