我想将getText()
用于一个XPath,需要文本是什么。
//跨度(含有(@风格, '显示:无'))
XPath正在使用firebug进行测试,我已经尝试了getText
,getAttribute
,到目前为止没有运气
答案 0 :(得分:2)
如果没有您在问题中未指明的确切HTML,这有点难以说明......
首先,您需要更改此内容:
"//span(contains(@style,'display:none'))"
对此:
"//span[contains(@style,'display:none')]"
<强>更新强>
或者,由于span
元素不可见,您可以通过以下方式执行此操作:
String innerHTML = elem.getAttribute("innerHTML");
elem
是span
元素的父节点。
然后,为了获得实际文本,您需要解析innerHTML
字符串。
答案 1 :(得分:0)
因为元素是不可见的(它有display:none
),所以Selenium不能与它本地交互。您需要将驱动程序转换为JavascriptExecutor
,然后执行以下javascript:
$x("//span(contains(@style,'display:none'))")[0].text
[0]
返回xpath返回的第一个元素。
这将返回元素的内部文本。