gpt4 book ai didi

html - Jsoup 没有选择脚本标签

转载 作者:行者123 更新时间:2023-11-28 05:18:51 26 4
gpt4 key购买 nike

我正在尝试在包含文本的页面上选择一个脚本标签

Document doc=jsoup.parse(somehtml);
Elements ele=doc.select("script:contains(accountIndex)");

页面上脚本标签的代码是

<script>(function() {var vm = ko.mapping.fromJS({
"accountIndex": 1,
"accountNumber": "*******",
"hideMoreDetailsText": "Hide More Details",
"viewAccountNumberText": "Show Account Number",
"hideAccountNumberText": "Hide Account Number",
});window.AccountDetails = vm;})();</script>

如果我像这样传递脚本标签的 css 定位器,我就可以选择这个脚本标签

  Elements ele=doc.select("body > script:nth-child(44)");

页面上有很多脚本标签,所以第二种方法不通用,以后可能会改变。

有人可以告诉我第一种方法有什么问题吗?因为我可以在包含 jsoup 的页面上选择其他标签

最佳答案

选择器 :contains(text) 查找具有该 text 值的元素。脚本没有文本,它有数据(否则 JS 将在浏览器中可见)。您可以改用 :containsData(data) 选择器。

例如:

Elements els = doc.select("script:containsData(accountIndex)");

这是一个 example . Selector documentation具有所有已处理的查询类型(不仅仅是严格的 CSS)。

关于html - Jsoup 没有选择脚本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41750194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com