我正在使用HtmlUnit,因此我正在使用XPath。 我正在尝试查找具有特定值的属性的元素,但是我的结果没有返回任何内容。我怀疑这是由于此值中符号的性质:“ $ ”和“ = ”。 我试图提取的元素的一个例子是:
<span data-reactid=".3.1.0.0.1:1.0.1.0.1:$0.$=12:$2.2">
我用来尝试拉取它的代码是:
page.getFirstByXPath("//span[@data-reactid='.3.1.0.0.1:1.0.1.0.1:$0.$=12:$2.2']");
我认为这是美元符号,如果我怀疑等号会出现问题,但也许我完全错了。
我的问题是,a)它确实与转义字符有关,而且b)如果没有,为什么结果不会拉动我想要的呢?
如果需要可以发布更多代码,但我想这就足够了。
谢谢!
答案 0 :(得分:0)
以下是有效的,可能您的页面问题与XPath无关,例如:找不到元素
Html代码:
<html>
<body>
<span data-reactid=".3.1.0.0.1:1.0.1.0.1:$0.$=12:$2.2">
</span>
</body>
</html>
Java代码:
try (WebClient webClient = new WebClient()) {
HtmlPage page = webClient.getPage("http://localhost/test.html");
Object o = page.getByXPath("//span[@data-reactid='.3.1.0.0.1:1.0.1.0.1:$0.$=12:$2.2']");
System.out.println(o);
}