Selenium-rc Python客户端:无法遍历xpath?

时间:2011-05-03 07:36:10

标签: python selenium-rc

我是Selenium的新手,正在使用Python客户端库实现selenium-rc。我尝试使用命令“sel.get_xpath_count(xpath)”遍历我的页面div使用xpath(s)元素。

它给出了20的计数,但是当我使用for语句和命令“sel.get_text(xpath ='%s [%d]'%(xpath,i))”迭代每个div时,它只发现第一个元素,并在剩余的19个未找到的div上给出错误。

1 个答案:

答案 0 :(得分:2)

您的第二个XPath表达式错误。使用C风格语言培训的程序员经常犯这个错误,因为他们看到[...]并认为“索引到数组中”,但这不是XPath中的括号。

如果您使用sel.get_xpath_count(something),则需要使用sel.get_text("xpath=(something)[item_number]")。请注意在第二次使用时在原始XPath表达式周围使用括号。

这背后的原因是something[item_count]something AND position() = item_count的简写 - 因此你最终将另一个谓词添加到“something”表达式,而不是选择表达式选择的一个节点。 (something)[item_count]有效,因为(something)的值是节点列表,添加position() = item_count会从列表中选择具有指定位置的节点那是更像是C风格的数组。