- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在 Jsoup 元素中找不到像 isDisplayed()
这样的直接方法。我可以使用以下代码通过 type = "hidden"
检查输入。
"HIDDEN".equals(elm.attr("type").toUpperCase())
但我还需要捕获隐藏的 CSS。还有继承的隐藏元素。
最佳答案
Pshemo 在他的评论中已经说过:JSOUP 不是 JavaScript 解释器。并且 JSOUP 不会将外部 CSS 信息组合到 html 中。 JSOUP 只是解释 html,它非常擅长这一点。仅此而已,但也仅此而已。您还可以使用 JSOUP 访问互联网和加载 html 页面,但这确实是它的限制。
关于你的问题:如果真的需要知道一个元素是可见还是隐藏,你应该仔细考虑。如果它在您的上下文中,您可能需要一个行为类似于浏览器的测试框架。对于 Java,有非常好的绑定(bind) selenium webdriver .这会驱动真正的浏览器加载和测试页面。您还可以使用 selenium 抓取内容。我有很好的经验,使用 selenium 访问 Web 内容,然后切换到 JSOUP 进行实际抓取。在您的情况下,您可以直接使用强大的 webdriver API 来查明某个元素是否被隐藏。
Selenium webdriver 能够与 Firefox、Chrome 和许多其他浏览器一起工作。如果你需要一个轻量级的替代品,你可以使用 headless 浏览器。为此存在 PhantomJs ,这是由 selenium 提供的 exellenttly 支持。或者 HTMLUnit ,它甚至更轻,并使用 Java Rhino 解释器来处理 JavaScript。
你看,有很多选项可供选择来实现你想要的。只是不是 JSOUP,尽管它是一个很棒的库。
关于java - 如何检查 Jsoup 中元素的可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25526319/
我有一些像这样的 html: zip code 我的 Java 代码 Elements formElements = doc.getElementsByTag("form"); for(Ele
我无法使用 创建 session jsoup 以及如何使用 jsoup 发布数据.请帮助我,我是新来的 jsoup api ,实际上我的代码是: Connection.Response res = J
我想添加一个新的元标记 Document doc = Jsoup.parse(.....) doc.select("meta").first.appendElement("meta".attr("na
有没有办法用 Jsoup 保留新行,(不是 )? Document pdsc = Jsoup.connect("http://drafts.bestsiteeditor.com/promoters/d
我需要将 jsoup 元素映射回源 HTML 中的特定字符偏移量。换句话说,如果我有这样的 HTML: Hello World 我需要知道“Hello”从偏移量 0 开始,长度为 6 个字符,从偏移
我喜欢用 Jsoup 解析 html,但是他们的连接有问题,我需要将请求发送到同一个网站但不同的查询参数,比如“id=XXX”,请求是这样的: http://website/?id=XXX 我不想为每
我有代码,有点像这样 String str = " >foo< "; Document doc = Jsoup.parse(str, "", Parser.xmlParser()); 但
是否可以使用 jsoup 来验证 HTML 片段?我想知道标记是否格式错误,而不是让 jsoup 自动修复它,我希望能够通知用户自己修复源标记。 最佳答案 Jsoup 不是检查 xml 或 html
Jsoup 有 2 个 html parse() 方法: > parse(String html) - "由于没有指定基本 URI,绝对 URL检测依赖于包含标记的 HTML。” > parse(St
我正在尝试使用 jsoup 从此网页中提取所有图片网址?任何人都可以提供有关如何做到这一点的帮助吗?所有标签的格式都是这样的,但我只需要 src 图像,而不是 ajaxsrc: 链接在这里: htt
我试图找到所有 或 一页/文档中的标签。 我如何使用 OR运算符(operator)在 doc.select("div.name1 OR div.name2") ? 最佳答案 select metho
我为我的项目创建了一个新模块来添加一些额外的功能。在该模块中,我在模块的 Gradle 文件 implementation 'org.jsoup:jsoup:1.10.2' 中添加了 Jsoup 依赖
我正在寻找这个 div 中的主图像 我试过这个: Document document = Jsoup.connect(url).get(); Elements img = document.se
谁能解释一下 JSoup 中提供的 Element 对象和 Node 对象之间的区别? 在什么情况/条件下使用什么最好。 最佳答案 节点是 DOM 层次结构中任何类型对象的通用名称。 元素是一种特定类
有什么方法可以防止 Jsoup 的 HTML 解析器将单个标签(最具体的是 标签)转换为自闭合标签? 标签是有效的 HTML5 元素,但 Jsoup 一直将它们转换为 . 我在下面的链接中有一个示
可以屏蔽吗 Jsoup.connect("http://xyz.com").get().html(); 作为对网站的浏览器调用? 我尝试构建一个壁纸下载工具,但在从服务器下载页面时遇到问题。 如果我下
我希望在 Groovy 中开发一个网络爬虫(使用 Grails 框架和 MongoDB 数据库),它能够爬取网站,创建网站 URL 列表及其资源类型、内容、响应时间和所涉及的重定向数量。 我正在讨论
如果我有一个看起来像这样的元素: bar text 1 bar text 2 我已经有了 元素被选中,我想选择 元素是 的直接子元素但不是
任何人都可以提供有关我将如何解析超大 HTML 流/文件的指针或建议。例如,我有一个大约有 270,000 行的表,我想一次将它带入我的应用程序大约 20,000 行。 jsoup 解析方法允许使用
我收到此错误: java.lang.RuntimeException: An error occured while executing doInBackground() at and
我是一名优秀的程序员,十分优秀!