硒xpath与圆括号

时间:2011-03-28 21:12:00

标签: selenium xpath

处理Selenium + ExtJs生成的html绝不是一种乐趣,尤其是当你无法改变源代码时。我目前的问题是尝试单击包含特定标签的表单的第4个父级中包含的按钮。没有可用的有用ID或类名。

奇怪(我猜它是一个extJs的东西),按钮是在表单之外,这就是父链的原因。页面中还有多种形式。但xpath没问题。

在Firefox Xpath检查器中,我可以运行此xpath - 它会找到按钮。

(//form[.//label[contains(text(),'Annual')]])[1]//parent::div//parent::div//parent::div//parent::div//button[.='Calculate']

当我在Selenium RC中尝试它时,它剥去了圆括号。我正在监视Selenium日志输出,以便在发生这种情况时显而易见。另一个stackoverflow线程说当发生将xpath =放在前面时,因为Selenium不知道启动w / o //是一个xpath。所以......

xp = "xpath=(//form[.//label[contains(text(),'Annual')]])[1]//parent::div//parent::div//parent::div//parent::div//button[.='Calculate']"
result = self.selenium.click_at( xp )

Selenium日志显示现在保留了圆括号,但是没有执行单击 - click_at()返回false并且没有生成错误。

我错过了什么(无疑是致命的明显的事情)?

0 个答案:

没有答案