selenium webdriver获取不到标签文本及将html特殊符号&转换为正常字符的方法

时间:2021-07-19 07:57:19

1、获取不到标签内的文本

使用selenium IDE可以获取到的标签文本使用selenium webdriver代码时得到的值为空,我遇到的原因是因为该标签是隐藏状态的:

HTML代码:

<div>

<p id='text' style='display:none;'>&ABC</p>

</div>

selenium webdriver代码:

driver.findElement(By.id("text")).getText();

查看HTML代码:

style=‘display:none;’

这时候可以使用获取属性值来取得文本

driver.findElement(By.id("text")).getAttribute("innerHTML");

但是因为HTML文本中有特殊字符“&”,所以这时候取得的值其实是:

&amp;ABC

2、将html特殊符号转换为正常字符

参考:http://www.cnblogs.com/tomcatandjerry/p/3539631.html

下载:http://www.java2s.com/Code/Jar/c/Downloadcommonlang3jar.htm

可以下载common-lang3.jar,里面自带有转换的方法:

String htmlText = driver.findElement(By.id("text")).getAttribute("innerHTML");
String covText=StringEscapeUtils.unescapeHtml4(htmlText);

这样以后得到的值covText就是&ABC了

以上