我刚刚升级了一些功能测试代码以使用较新版本的 Selenium 和所需的 geckodriver,现在以前在 HTML 选择控件中选择选项的代码不再有效。我可以用一个简单的页面重现问题:
以下是相关代码:
1. my_select = Select(driver.find_element_by_id("foo_select"))
2. my_select.select_by_value("3")
和相关的 HTML
<form>
<select id="foo_select" name="foo_select">
<option selected="selected" value="1">Ford</option>
<option value="2">Hyundai</option>
<option value="3">Jeep</option>
<option value="4">Kia</option>
<option value="5">Nissan</option>
<option value="6">Toyota</option>
</select>
</form>
我可以在上面 1 之后检查 my_select 的值,它确实引用了名为“foo_select”的选择。但是第 2 行似乎没有选择值为“3”的选项(它没有选择任何东西。我也尝试了其他“select_by..”变体)。事实上,如果我查看 my_select.first_selected_option (在 2 之后),它仍然指的是第一个选项“福特”。