簡體   English   中英

org.jsoup.select.Selector $ SelectorParseException:無法解析查詢

[英]org.jsoup.select.Selector$SelectorParseException: Could not parse query

我正在使用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"));
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM