Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpath <;td>;未使用HtmlUnit返回值_Xpath_Htmlunit - Fatal编程技术网

Xpath <;td>;未使用HtmlUnit返回值

Xpath <;td>;未使用HtmlUnit返回值,xpath,htmlunit,Xpath,Htmlunit,当我尝试使用下面的代码时…返回的是td标记,而不是td标记的值 List<?> byXPath = page2.getByXPath("//tr[@class='metadata odd']/td"); System.out.println(byXPath.get(0).toString()); List byXPath=page2.getByXPath(“//tr[@class='metadata-odd']/td”); System.out.println(byXPath.ge

当我尝试使用下面的代码时…返回的是td标记,而不是td标记的值

List<?> byXPath = page2.getByXPath("//tr[@class='metadata odd']/td");
System.out.println(byXPath.get(0).toString());
List byXPath=page2.getByXPath(“//tr[@class='metadata-odd']/td”);
System.out.println(byXPath.get(0.toString());
例如:如果标签是

<td class='metadata odd'>Arun</td>
Arun
结果是

<td class='metadata odd'>


。。。。我需要结果是阿伦。请帮助

您正在查找的实际上是
td
标记的文本子节点的字符串表示,而不是您目前正在请求的
td
元素本身的字符串表示。 使用稍微不同的XPath表达式直接引用文本子节点,如下所示:

List<?> byXPath = page2.getByXPath("//tr[@class='metadata odd']/td/text()");
DomText textNode = (DomText)(byXPath.get(0));
System.out.println(textNode.toString());
List byXPath=page2.getByXPath(“//tr[@class='metadata odd']]/td/text()”;
domtexttextnode=(DomText)(byXPath.get(0));
System.out.println(textNode.toString());
另请参见。

尝试以下操作:

DomText domText = (DomText) form.getFirstByXPath("//tr[@class='metadata odd']/td/text()");
System.out.println(domText.getTextContent());
编辑:


如果要获取所有元素,只需使用
getByXPath
而不是
getFirstByXPath
获取它们。然后迭代返回的列表(这在您的问题中不是必需的,所以我没有添加它)。

例如:如果标记是Arun,则结果是。。。。我需要结果是阿伦。请帮助以“/”结尾的路径是无效的XPath语法:除了错误消息外,不应返回任何内容。@Michael:这是一个错误……我编辑了我的帖子get(0)值中没有类似getFirstChild的方法。当我调试代码并查找值时,原始值出现在继承的->数据中,但不确定如何从数据中获取该值。参数类com.gargoylesoftware.htmlunit.html.DomText这是返回的类。但无法将其转换为DOMMode…抱歉,这是一次冗长的聊天。但我挣扎了2个小时…哇…明白了。。。但是如何循环到下一个td元素呢?如果我给getByXPath而不是getFirstByXPath,它会抛出一个错误。nyarlathotep的上述评论有效。谢谢大家:)是的,但这个答案只是给了你第一个要素。我的答案是相同的,但不太冗长:P正如我在答案中告诉您的,您必须迭代返回getByXPath的
列表。