【发布时间】:2014-05-28 00:45:31
【问题描述】:
我遇到了一个非常有趣的问题。我有一个 xpath,我通过它检索值。
例如。
System.out.print(driver.findElement(By.xpath("//*[@id='error-box']/ul/li")).getText().toString());
在 Firefox 和 Chrome 中给出相同的文本,而在 IE 中给出不同的文本。
各种浏览器的 xpath 之间是否有任何区别,或者这是我没有得到的其他问题。
【问题讨论】:
-
嗯,答案不是肯定的,也不是否定的。 IE 没有本机 XPath 引擎,因此 Selenium 使用基于 Javascript 的引擎 - 称为 Wicked Good XPath。因此,您可能会出现不一致 - 毕竟它是大多数其他浏览器本机具有的 JS 实现。另一件事是浏览器对元素的不同支持。一个常见的是某些元素 (HTML5) 中的
placeholder属性 -需要更多信息!!! -
getText() 应该按照文档 (selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/…) 返回一个字符串。所以你可能最后不需要 .toString()
标签: selenium selenium-webdriver xpath webdriver xpath-1.0