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

在页面上重新查找Html元素(一遍又一遍,一遍又一遍……),html,dom,getelementbyid,Html,Dom,Getelementbyid,我访问example.com,通过编程查找我想要“跟踪”的某些HTML元素——也就是说,我定期重新访问页面,查看元素的文本是否发生了变化。百万美元的问题是,如何最大限度地提高每次返回页面时找到正确/相同HTML元素的可能性?(我在同一天内重访了好几次——更改其格式或布局的网站与我无关) 如果我们谈论的是html正文中左div中div中的标签,那么我的比较应该始终与页面上的相同元素进行 我提出了一些选择,但都有缺点: 我可以创建一个DOM路径,并在每次进入页面时从html标记向下移动。但是:在某处

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

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

我提出了一些选择,但都有缺点:

  • 我可以创建一个DOM路径,并在每次进入页面时从html标记向下移动。但是:在某处插入一个元素,它会把整个事情搞砸
  • 我可以尝试使用一些ID或类的组合来标识元素。但是有两个问题:这些元素中有很多没有ID或类;而且经常是 类或ID随内容而变化
  • 我可以尝试使用WebBrowser的GetElementFromPoint——这可能是我最好的选择,但有人知道这有多准确和可靠吗

  • 有什么好办法吗?我遗漏了什么?以前有人做过这种事吗?可能是几种方法的组合?

    我想您每次都必须调整抓取页面代码。在你的情况下没有绝对的方法。我建议使用列表中的#2。通过所需元素的ID进行标识是最好的,因为它们可能不会删除该ID。但我猜您没有ID。-在结构发生变化时,解析和XPath根本没有用处那么jQuery选择器呢?这类似于部分XPath(查找要检查的特定类和特定子类组合)但是在这里你真的不可能百分之百确定。伊姆霍:不要试图去刮那些不想被刮的页面。看看是否有允许您使用的可用API。