gpt4 book ai didi

javascript - Selenium page_source 不返回修改后的 DOM 树

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:27 28 4
gpt4 key购买 nike

我想弄清楚将 NoScript/ghostery 等插件应用到某个网页之前和之后的变化。 NoScript/ghostery 会阻止跟踪器和广告商的脚本,并将它们从 DOM 树中删除(例如,我在 Firefox 中“启用”NoScript 前后浏览 cnn.com 时检查了它“http://a.visualrevenue.com/vrs.js”)。然而,'http://a.visualrevenue.com/vrs.js如果我使用 selenium 的 browser.get_source 转储 DOM 树,' 仍然存在。我在此过程中使用以下代码:

import pickle
from selenium import webdriver

fp = webdriver.FirefoxProfile(../<extension/addons/>)
browser = webdriver.Firefox(firefox_profile=fp)
browser.get("http://www.cnn.com")
html_source = browser.page_source
f = open("cnn.p", "wb")
pickle.dump(html_source, f)

selenium 的 get_source 获取源文档说它会修改(在我的例子中是由 NoScript 修改的)DOM 树,但我无法弄清楚是否会发生这种情况。如果有人能评论如何使用 selenium 或任何自动化工具(通过插件)修改 DOM 树,我将不胜感激。

最佳答案

尝试了多种方法,终于解决了我的问题。我没有使用 webdriver.page_source (输出“html 源”),而是使用 webdriver.execute_script("return document.documentElement.outerHTML") 来转储渲染的 HTML。

关于javascript - Selenium page_source 不返回修改后的 DOM 树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26584215/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com