Java 使用Selenium在标记之间创建getText
我正试图解析以下XML文件,以便获得一些属性。我需要做的一件事是验证标记之间的内容是否为空。为此,我想我可以使用为web元素提供的getText方法 XML文件:Java 使用Selenium在标记之间创建getText,java,xml,selenium,Java,Xml,Selenium,我正试图解析以下XML文件,以便获得一些属性。我需要做的一件事是验证标记之间的内容是否为空。为此,我想我可以使用为web元素提供的getText方法 XML文件: <results> <result index="1"> <track> <creator>Cool</creator> <album>Amazing</album>
<results>
<result index="1">
<track>
<creator>Cool</creator>
<album>Amazing</album>
<title>Awesome and Fun</title>
</track>
</result>
</results>
酷
太神了
棒极了,很有趣
我的解析代码如下(请记住有不止一个结果):
boolean结果=false;
获取(url);
List result_List=driver.findElements(By.xpath(“.//result”);
if(result_list.size()=num_results){
试一试{
对于(int i=0;i
问题是,当creator标记之间有明显的文本时,System.out.println调用返回一个空字符串。任何帮助都将不胜感激 这里的问题很可能是,将该xml文件加载到浏览器中会使浏览器本身将xml文档转换为html解释。将其加载到Chrome中会产生一个
标记,确认您输出的空白字符串
我将研究xml解析器,而不是尝试通过自动化工具来实现这一点。哪个
System.out.println()
call?另外,您如何知道没有任何类型的异常
?您如何加载xml?这是在浏览器中吗?哪一个?是的,这就是我切换到的。教授为这项工作建议了错误的工具。谢谢你帮我跳出框框思考!
boolean result = false;
driver.get(url);
List<WebElement> result_list = driver.findElements(By.xpath(".//result"));
if (result_list.size() == num_results) {
try {
for (int i = 0; i < result_list.size(); i++) {
WebElement track = result_list.get(i).findElement(By.xpath(".//track"));
WebElement creator = track.findElement(By.xpath(".//creator"));
System.out.println(creator.getText());
track.findElement(By.xpath(".//album"));
track.findElement(By.xpath(".//title"));
}
result = true;
}
catch (Exception e) {
result = false;
}
}
return result;