微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我无法使用`document.querySelector` 在 DOM 中找到元素,即使它对用户可见并且文档已准备好?

如何解决为什么我无法使用`document.querySelector` 在 DOM 中找到元素,即使它对用户可见并且文档已准备好?

编辑:不是 iFrame

我正在尝试从控制台解析 Indeed。多个职位列表会发生这种情况,但我将仅使用这个作为可重复性的示例:

(在 Chrome 中,我不知道这是否可以在其他浏览器中重复。) 示例网页:https://www.indeed.com/jobs?q=Chef&l=Newton%2C%20MA&vjk=8cc6b4622359d8bd

如果它重定向您到 https://www.indeed.com/viewjob?jk=8cc6b4622359d8bd&from=tp-serp&tk=1f0q00g38u4bv800 调整您的窗口大小以便全屏显示并重试。

CTRL-SHIFT-I。在 Chrome 开发者工具中打开 Elements 选项卡。无需单击除 之外的任何元素,搜索“.icl-u-lg-hide”并注意它在 DOM 中。这是包含用户可见的“在公司网站上应用按钮”的类。 document.readyState 返回 true

打开控制台,document.querySelector(".icl-u-lg-hide")。它返回 null。现在,关闭开发工具。右键单击屏幕上的“在公司网站上申请”按钮,然后选择“检查”。现在转到控制台,输入 document.querySelector(".icl-u-lg-hide")。它返回元素。为什么??

TLDR:元素在屏幕上可见,并出现在 Chrome 开发工具的元素选项卡中。但是,它们无法通过 JQuery/document.query 进行查询。这是什么原因造成的?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。