在html选择菜单中选择一个项目

时间:2018-06-11 13:36:14

标签: python selenium

我有以下HTML,我试图通过selenuim首先选择select元素,然后按名称/文本选择特定选项

<div class="form-group" xpath="1">
<label for="team"><strong>Choose your option</strong></label>
<select name="team_id" class="form-control" style="">
<option value="8541">option1</option>
<option value="11377" style="">option2</option>
</select>
</div>

我目前正在尝试以下方法 打开页面后,首先很难确定选择变量是否失败&#39;选择&#39;或者稍后在循环中通过选项。但是我认为,我尝试过的所有内容都无法选择多个选择

optionvar= 'option2'
def registered():
    try:
        while True:
            try:
        driver.get(tournament+'/register')
        select = Select(driver.find_element_by_class_name('form-control'))
        print(select)
        for option in select.find_elements_by_tag_name('Option'):
            if option.text == optionvar:
                option.click()
                break
        except Exception as e:
            if 'NoSuchElementException' in str(e):
                print('Check In not Aktive jet')
                # Do the following
                # if you don't want to stop for loop then just continue
                continue

     except KeyboardInterrupt:
         pass

现在我尝试了一些东西,逐个元素,甚至是xpath,但不知怎的,我无法选择它,然后选择正确的选项

请告诉我如何执行此操作,以及如何更好地调试运行时真正受到影响的内容。

1 个答案:

答案 0 :(得分:0)

明显的答案是,xpath中只有一些语法错误

        select = driver.find_element_by_xpath("//select[@name='team_id']")
        for option in select.find_elements_by_tag_name('option'):
            if option.text in team:
                option.click() 
                break