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

selenium之定位下拉框(Select)

作者: test小星星 | 来源:发表于2018-09-26 15:26 被阅读875次

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

    select类型下拉框如图


    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("低风险")
    

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

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

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

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

    定位非<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 = driver.find_elements_by_tag_name('li')
    # 选取想要的值
    li[0].click() # 0代表选择第一个值

    相关文章

      网友评论

          本文标题:selenium之定位下拉框(Select)

          本文链接:https://www.haomeiwen.com/subject/swndoftx.html