Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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

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
Java org.jsoup.select.Selector$SelectorParseException:无法分析查询_Java_Xpath_Jsoup_Xsoup - Fatal编程技术网

Java org.jsoup.select.Selector$SelectorParseException:无法分析查询

Java org.jsoup.select.Selector$SelectorParseException:无法分析查询,java,xpath,jsoup,xsoup,Java,Xpath,Jsoup,Xsoup,我正在使用Xsoup 代码如下: private void updateSeed(Document document) { mappingParser .setSeed(Xsoup.compile("//div[@class='pgCell'][last()]/a/@href") .evaluate(document).get()); } 当我执行上一个函数时,我得到以下异常: Exception in thread "main" org.jsoup.sel

我正在使用Xsoup

代码如下:

private void updateSeed(Document document) {
 mappingParser
        .setSeed(Xsoup.compile("//div[@class='pgCell'][last()]/a/@href")
        .evaluate(document).get());
} 
当我执行上一个函数时,我得到以下异常:

Exception in thread "main" org.jsoup.select.Selector$SelectorParseException: Could not parse query 'div[@class='pgCell'][last()]': unexpected token at 'last()'
    at us.codecraft.xsoup.xevaluator.XPathParser.byFunction(XPathParser.java:225)
    at us.codecraft.xsoup.xevaluator.XPathParser.consumePredicates(XPathParser.java:202)
    at us.codecraft.xsoup.xevaluator.XPathParser.findElements(XPathParser.java:138)
    at us.codecraft.xsoup.xevaluator.XPathParser.parse(XPathParser.java:51)
    at us.codecraft.xsoup.xevaluator.XPathParser.parse(XPathParser.java:375)
    at us.codecraft.xsoup.xevaluator.XPathParser.combinator(XPathParser.java:85)
    at us.codecraft.xsoup.xevaluator.XPathParser.parse(XPathParser.java:49)
    at us.codecraft.xsoup.xevaluator.XPathParser.parse(XPathParser.java:375)
    at us.codecraft.xsoup.Xsoup.compile(Xsoup.java:27)
    at com.qannoufit.test.CrawlerController.updateSeed(CrawlerController.java:102)
    at com.qannoufit.test.CrawlerController.populateShouldParse(CrawlerController.java:91)
    at com.qannoufit.test.CrawlerController.startCrawling(CrawlerController.java:60)
    at com.qannoufit.test.Main.main(Main.java:12)

尝试改用CSS选择器。初始xPath查询的翻译如下:

div.pgCell:last-of-type > a
一旦你有了锚,就会得到它的href

private void updateSeed(Document document) {
  Element anchor = document.select("div.pgCell:last-of-type > a").first();
  if (anchor==null) {
     // Anchor not found, handle error here...
  }

  mappingParser.setSeed(anchor.absUrl("href"));
} 

似乎您不能使用
last()
,因为根据