我有以下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,但不知怎的,我无法选择它,然后选择正确的选项
请告诉我如何执行此操作,以及如何更好地调试运行时真正受到影响的内容。
答案 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