Javascript 从鼠标悬停弹出窗口中刮取web数据

Javascript 从鼠标悬停弹出窗口中刮取web数据,javascript,html,jquery,web-scraping,parse-platform,Javascript,Html,Jquery,Web Scraping,Parse Platform,我尝试使用JavaScript从中提取数据,特别是将鼠标悬停在购物车图标上时出现的“免费送货免费退货”文本: 每当我将鼠标悬停在购物车图标上时,新的HTML就会添加到DOM中 当我移动鼠标时,先前添加的HTML就会消失。我希望能够解析添加的HTML中的数据,而不让弹出窗口可见。即使有人没有将鼠标悬停在购物车图标上,我如何才能抓取这些文本数据?有没有一种方法可以一次访问所有HTML数据?当您将鼠标悬停在购物车图标上时,可以尝试捕捉正在执行的JavaScript函数。您可以通过开发人员工具来实现

我尝试使用JavaScript从中提取数据,特别是将鼠标悬停在购物车图标上时出现的“免费送货免费退货”文本:

每当我将鼠标悬停在购物车图标上时,新的HTML就会添加到DOM中


当我移动鼠标时,先前添加的HTML就会消失。我希望能够解析添加的HTML中的数据,而不让弹出窗口可见。即使有人没有将鼠标悬停在购物车图标上,我如何才能抓取这些文本数据?有没有一种方法可以一次访问所有HTML数据?

当您将鼠标悬停在购物车图标上时,可以尝试捕捉正在执行的JavaScript函数。您可以通过开发人员工具来实现这一点。如果DOM发生更改(在添加新元素的父元素上),则向代码执行添加断点

一旦你得到了这个函数,就直接在这个页面上执行它,你可能会看到弹出窗口并提取它的内容


您还可以尝试模拟悬停,如以下回答中所述:

通常不建议在页面上刮取数据,因为它们会随着时间的推移而变化(特别是那些不是直接用HTML编写的,而是生成的(通常它们有CSS类,如
8h2H1
)。 如果这不是一个长期的解决方案,@nvkrjn给出的上述答案是一个很好的答案。或者,只需检查id名称为
免费送货标签的元素即可。
但是,如果这是一个长期的解决方案,那么我建议使用一个API(这个站点似乎没有),或者像Javascript那样查询数据库。此外,如果您使用的是非浏览器环境(例如BeautifulSoup),则它可能不会运行获取数据所需的JS