当我在IE9中填写表单时,从保管箱中选择一个选项通常会导致以下错误:
"the xpath expression '//...' cannot be evaluated or does notresult in a WebElement"
在Firefox中不会发生此错误,但仅在IE中。 有没有人知道解决这个问题的方法?我看到的唯一可能的解决方案(没有被检查为正确)是用Java编写的。使用find_element_by_id(id)仍然可以正常工作;当然,如果没有身份证明那就毫无意义。以下是错误发生时的示例:
driver.find_element_by_xpath("//select[@id='name']/option[text()='option1']").click()
感谢。
答案 0 :(得分:2)
使用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')