首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSoup XPath/选择器查询不起作用

JSoup XPath/选择器查询不起作用
EN

Stack Overflow用户
提问于 2018-05-30 13:48:00
回答 2查看 245关注 0票数 0

我正在尝试从这个页面中提取GitHub链接

代码语言:javascript
复制
https://plugins.jenkins.io/hugo

val doc = JSoup.parse("https://plugins.jenkins.io/hugo")

来自Chrome的XPath

代码语言:javascript
复制
//*[@id="grid-box"]/div/section/div[2]/div[2]/div/div/div[1]/div/div/div[1]/div[2]/a

Chrome中的选择器

代码语言:javascript
复制
#grid-box > div > section > div.dialog > div.content > div > div > div.col-md-9.main > div > div > div:nth-child(1) > div:nth-child(2) > a

JSoup查询

代码语言:javascript
复制
#grid-box > div > section > div:eq(2) > div:eq(2) > div > div > div:eq(1) > div > div > div:eq(1) > div:eq(2) > a

代码片段

代码语言:javascript
复制
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import us.codecraft.xsoup.Xsoup;

val doc = Jsoup.parse("https://plugins.jenkins.io/hugo")
Xsoup.compile("""//*[@id="grid-box"]/div/section/div[2]/div[2]/div/div/div[1]/div/div/div[1]/div[2]/a""").evaluate(doc).list

已尝试使用XPath和选择器,但无法提取值

我需要此页面上的github链接

代码语言:javascript
复制
<a href="https://github.com/jenkinsci/hugo-plugin">GitHub →</a>

如果可能的话,谁能告诉我正确的API是什么?

EN

Stack Overflow用户

发布于 2018-05-30 13:59:11

你有没有尝试过这样的东西:

代码语言:javascript
复制
Document doc = Jsoup.parse("https://plugins.jenkins.io/hugo");    
Elements aTags = doc.select("a[data-reactid=\"30\"]");

它应该解析这个:<a href="https://github.com/jenkinsci/hugo-plugin" data-reactid="30">GitHub →</a>

然后你可以在aTags中执行aTags.attr("href"),这应该会给你提供网址。这就是我们的想法。

如果您看不到data-reactid,那么您可以执行divs = doc.select("div[col-md-4]"),然后从divs获得a标记和href属性。我们的想法是从HTML标记和属性中找到一些独特的东西,并将其作为目标,以便获得URL。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50597151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档