将 Selenium 与 Python 一起使用:在 IE9 上使用 select 框时出错

Using Selenium with Python: Error when using select boxes on IE9

当我在 IE9 中填写表单时,从保管箱中选择一个选项通常会导致以下错误:

"the xpath expression '//...' cannot be evaluated or does notresult in a WebElement"

这个错误不会出现在firefox中,只会出现在IE中。 有谁知道解决这个问题的方法?我看到的唯一 可能 解决方案(未检查是否正确)是写在 Java 中的。使用 find_element_by_id(id) 仍然可以正常工作;当然,如果没有id那是没有意义的。以下是经常发生错误的示例:

driver.find_element_by_xpath("//select[@id='name']/option[text()='option1']").click()

谢谢。

使用 Select() class 提供对 select/option 结构的良好抽象:

from selenium.webdriver.support.select import Select

select = Select(driver.find_element_by_id('name'))
select.select_by_visible_text('option1')