【问题标题】:Selenium: How to disable image loading with firefox and python?Selenium:如何使用 firefox 和 python 禁用图像加载?
【发布时间】:2015-09-22 22:02:59
【问题描述】:

我读过类似的问题,一个应该是答案,但是当我尝试它时,它只给出了部分解决方案。 我参考这个问题:Disable images in Selenium Python

我的问题是我尝试了解决方案,有些图像没有出现,但图像来自:

<img href="www.xxx.png"> 

正在加载。 有没有办法告诉 firefox/selenium 不要得到它? 如果没有,有没有办法从我返回的 dom 元素中丢弃它,通过:

self._browser.get(url)
content=self._browser.page_source

例如通过在 dom 树上进行某种查找替换? 浏览器配置和上一个问题的浏览器一样:

    firefox_profile = webdriver.FirefoxProfile()
    # Disable CSS
    firefox_profile.set_preference('permissions.default.stylesheet', 2)
    # Disable images
    firefox_profile.set_preference('permissions.default.image', 2)
    # Disable Flash
    firefox_profile.set_preference('dom.ipc.plugins.enabled.libflashplayer.so', 'false')
    # Set the modified profile while creating the browser object
    self._browser = webdriver.Firefox(firefox_profile=firefox_profile)


更新

我继续挖掘,我学到的是,如果我检查 selenium/firefox 组合的文本文档,我看到了,它没有带来图像并将它们保留为链接。 但是当我这样做时:

self._browser.save_screenshot("info.png") 

我有一个 24 兆的文件,其中加载了所有 img 链接。
谁能给我解释一下这个问题?
谢谢!

【问题讨论】:

    标签: python firefox selenium selenium-webdriver


    【解决方案1】:

    在最新的 Firefox 版本中 permissions.default.image 无法更改。要禁用图像,请切换到 ChromDriver 或使用建议的替代扩展 here

    【讨论】:

      【解决方案2】:

      您可以使用以下代码禁用图像:

      firefox_profile = webdriver.FirefoxProfile()
      firefox_profile.set_preference('permissions.default.image', 2)
      firefox_profile.set_preference('dom.ipc.plugins.enabled.libflashplayer.so', 'false')
      
      driver = webdriver.Firefox(firefox_profile=firefox_profile)
      

      如果您需要阻止某些特定的网址...嗯... 我认为您需要添加字符串:

      127.0.0.1 www.someSpecificUrl.com 
      

      测试开始前到hosts文件,测试结束后删除。

      【讨论】:

      • 有效吗?我认为,它需要 False 而不是字符串“false”。它应该是布尔值。请建议。
      • 这取决于您的语言。但可能两种方式都行得通:当您将其作为 bool 发送时,以及当您将其作为字符串发送时。但是,是的,这必须有效。
      • @mrtipale,是的,它需要是布尔值。
      猜你喜欢
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 2018-10-23
      • 1970-01-01
      相关资源
      最近更新 更多