重新查找页面上的 Html 元素(一遍又一遍,一遍又一遍……)

发布于 12-19 05:25 字数 563 浏览 1 评论 0原文

我正在访问 example.com,并以编程方式查找我想要“跟踪”的某些 HTML 元素 - 即,我定期重新访问该页面以查看元素的文本是否发生变化。价值百万美元的问题是如何最大限度地提高每次返回页面时找到正确/相同 HTML 元素的可能性? (我在同一天内重新访问了几次——网站改变其格式或布局不是我关心的)。

前任。如果我们谈论的是 html 正文中左侧 div 内的 div 内的标签,那么我的比较应该始终与页面上的相同元素进行比较。

我已经提出了一些选项,但它们都有缺点:

  1. 我可以创建一个 DOM 路径,并在每次访问该页面时从 html 标记向下工作。但是:在某处插入一个元素就会把整个事情搞砸。
  2. 我可以尝试使用 ID 或类的某种组合来识别元素。但有两个问题:很多元素没有 id 或类;并且很多时候 类或 ID 随内容而变化。
  3. 我可以尝试使用 WebBrowser 的 GetElementFromPoint ——这可能是我最好的选择,但有人知道它有多准确和可靠吗?

有什么最好的方法来做到这一点的想法吗?我缺少什么吗?以前有人做过这种事吗?也许几种方法的组合?

I am visiting example.com, and programmatically finding certain HTML Elements that I want to "track" -- i.e., I revisit the page regularly to see if the elements' text changes. The million dollar question is how can I maximize the likelihood that I will find the right/same HTML element each time I go back to the page? (I'm revisiting several times within the same day -- the site changing its format or layout is not a concern of mine).

Ex. If we're talking about the label within the div within the left div within the html body, then my comparison should always be with the same element on the page.

I've come up with some options, but all of them have faults:

  1. I can create a DOM-Path, and work my way down from the html tag each time I go to the page. BUT: Insert one element somewhere and it screws the whole thing up.
  2. I can try to use some combination of IDs or classes to identify the element. BUT 2 problems: A lot of these elements do not have ids or classes; and often times the
    classes or ids change along with the content.
  3. I can try to use WebBrowser's GetElementFromPoint -- This may be my best bet, but does anybody know how accurate and reliable that is?

Any ideas of the best way to do this? Anything I'm missing? Has anyone ever done this kind of stuff before? Perhaps a combination of several methods?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文