我如何解决这个错误'webelement不支持索引“[webdriver] [python]

时间:2013-05-22 21:42:46

标签: python selenium webdriver

我正在进行xpath搜索

page = driver.find_element_by_xpath('//td[@class="mceIframeContainer mceFirst mceLast"]')[1]

这给了我在firebug中需要的第一个类项目,但显然python不允许我将[1]添加到find函数中。有没有解决方法?搜索返回2项,我只需要一项。我接近这个错误吗?

2 个答案:

答案 0 :(得分:11)

与大多数Selenium WebDriver绑定一样,如果只指定“element”,则只返回找到的第一个元素。但是,如果在方法中指定“elements”,它将返回找到的元素数组。

所以你的代码应该是:

page = driver.find_elements_by_xpath('//td[@class="mceIframeContainer mceFirst mceLast"]')[1]

请参阅http://selenium.googlecode.com/svn/trunk/docs/api/py/webdriver_remote/selenium.webdriver.remote.webdriver.html?highlight=find_element_by_xpath#selenium.webdriver.remote.webdriver.WebDriver.find_elements_by_xpath

答案 1 :(得分:1)

[1]需要添加到字符串

的一部分中

例如,对于网页上的一堆相同的表单,第一个xpath可能是

/html/body/form/table/tbody/tr[1]/td[2]/input

,第二个是

/html/body/form/table/tbody/tr[2]/td[2]/input

或者您可以使用find_elements_by_xpath,然后它们可以是可索引的 那个find_element***s***_by_xpath有一个S