WebDriver如果未关闭输入标记,则不返回内部文本

时间:2014-06-16 11:42:46

标签: java selenium

我正在使用Selenium Web Driver和java。我无法获得未关闭的输入标记的内部文本。

我的HTML代码是这样的:

<div id="ui-accordion-accordion-panel-0" style="display: block;" aria-hidden="false"><p><input class="adjustRadioPosition" type="checkbox" onclick="showWidget(this);" name="gender" value="1">Male<br><input class="adjustRadioPosition" type="checkbox" onclick="showWidget(this);" name="gender" value="2">Female</p></div>

现在我想获取输入标签的内部文本,如男性或女性。据我所知,如果标签正确关闭,我们可以使用getText()获取任何标签的内部文本。

但在我的方案中它没有关闭,所以我该如何获取文本。

如果有任何机构知道此方案的解决方案,请提供答案。

2 个答案:

答案 0 :(得分:2)

如果getText()返回 null 空字符串

我找到了

element.getAttribute("textContent") 

返回元素的内部文本。

答案 1 :(得分:0)

看起来文字不属于“输入”标签

执行 $ X( '// * [包含(文本(), “男”)') 在您的浏览器javascript控制台 - 它应该返回拥有此文本的元素

可能它会是“p”(也拥有“女性”,所以现在我无法预测“getText()”会返回什么)

标签不能“不关闭”,因为HTML应该格式正确(就像任何XML一样)