- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想弄清楚将 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/
我当前单击按钮进入新窗口: browser.execute_script("arguments[0].value = 'test';", browser.find_element_by_xpath('
我想弄清楚将 NoScript/ghostery 等插件应用到某个网页之前和之后的变化。 NoScript/ghostery 会阻止跟踪器和广告商的脚本,并将它们从 DOM 树中删除(例如,我在 Fi
我正在尝试从 WhoScored.com 中提取一些数据。 我使用 selenium 获取页面源,然后使用 BeautifulSoup 导航 DOM,但无法从中获取任何内容。 代码如下: #I
我有一个网页,当我右键单击它然后查看页面源时,我得到:SECTION-A 但是当我点击它然后检查我得到更长的输出时,我尝试使用 JS 获取页面源但同样的问题,我在 SECTION-A 中获取输出...
我想抓取一个网站,以使用以下代码获取页面内容: from selenium import webdriver from selenium.webdriver.common.desired_capabi
如果我浏览到 https://httpbin.org/headers我希望得到以下 JSON 响应: { "headers": { "Accept": "text/html,applica
我是一名优秀的程序员,十分优秀!