我正在进行xpath搜索
page = driver.find_element_by_xpath('//td[@class="mceIframeContainer mceFirst mceLast"]')[1]
这给了我在firebug中需要的第一个类项目,但显然python不允许我将[1]添加到find函数中。有没有解决方法?搜索返回2项,我只需要一项。我接近这个错误吗?
答案 0 :(得分:11)
与大多数Selenium WebDriver绑定一样,如果只指定“element”,则只返回找到的第一个元素。但是,如果在方法中指定“elements”,它将返回找到的元素数组。
所以你的代码应该是:
page = driver.find_elements_by_xpath('//td[@class="mceIframeContainer mceFirst mceLast"]')[1]
答案 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