如何使用带属性' display:none'的XPath getText()

时间:2014-04-07 15:22:17

标签: java selenium dojo selenium-webdriver webdriver

我想将getText()用于一个XPath,需要文本是什么。

  

//跨度(含有(@风格, '显示:无'))

XPath正在使用firebug进行测试,我已经尝试了getTextgetAttribute,到目前为止没有运气

2 个答案:

答案 0 :(得分:2)

如果没有您在问题中未指明的确切HTML,这有点难以说明......

首先,您需要更改此内容:

"//span(contains(@style,'display:none'))"

对此:

"//span[contains(@style,'display:none')]"

<强>更新

或者,由于span元素不可见,您可以通过以下方式执行此操作:

String innerHTML = elem.getAttribute("innerHTML");

elemspan元素的父节点。

然后,为了获得实际文本,您需要解析innerHTML字符串。

答案 1 :(得分:0)

因为元素是不可见的(它有display:none),所以Selenium不能与它本地交互。您需要将驱动程序转换为JavascriptExecutor,然后执行以下javascript:

$x("//span(contains(@style,'display:none'))")[0].text

[0]返回xpath返回的第一个元素。

这将返回元素的内部文本。