无法在Selenium / Firefox中关闭图像

时间:2015-07-22 18:57:26

标签: python firefox selenium selenium-webdriver

我希望在使用Selenium时在Firefox中禁用图像。它应该是firefox中首选项的简单更新,它记录在Disable images in Selenium Python

上的说明中

然而,当我运行时,图像显示,当我输入about:config时,permissions.default.image的值仍为1,而不是我尝试将其设置为2的值。

我的代码(用Python编写)是:

from selenium import webdriver
firefox_profile = webdriver.FirefoxProfile()
firefox_profile.set_preference("permissions.default.image", 2)
driver = webdriver.Firefox(firefox_profile)
driver.get(web_address)

作为参考,此代码适用于对首选项的其他更改,例如使用行firefox_profile.set_preference("permissions.default.stylesheet",2)关闭csv文件。我可以在csv设置和图像之间区分的唯一区别是,行permissions.default.image已经存在于about:config中(即没有我设置它),但是行permissions.default.stylesheet没有。 ...似乎我可以使用我想要的值添加新行,但不能更改现有的行(或者在输入我的值后,它会被Selenium覆盖)。

3 个答案:

答案 0 :(得分:4)

据我所知,此问题与以下Firefox问题有关:

这意味着permissions.default.image被冻结,无法更改且无效。

备选方案:

答案 1 :(得分:0)

我有这个问题。解决方案分为3个步骤。 1-为Firefox创建新的个人资料。在Windows中完全关闭Firefox。按(Window + R),写入firefox.exe -p,然后按Enter键并创建新的个人资料。 2,打开Firefox,创建个人资料然后在导航栏中打开about:config,找到permissions.default.image并将其设为2号。 3 - 改变您的代码,如下面的

ProfilesIni profile = new ProfilesIni();
FirefoxProfile myprofile = profile.getProfile("your_profile_name");
WebDriver driver = new FirefoxDriver(myprofile);

答案 2 :(得分:0)

我找到的唯一解决方案是这里描述的:

http://seleniumwebdrivertrainings.com/on-firefox-in-selenium-webdriver-tests-with-python-do-not-want-images-to-load-and-css-to-render/

例如:

from selenium import webdriver
firefox_profile = webdriver.FirefoxProfile()

firefox_profile.add_extension(folder_xpi_file_saved_in + 'quickjava-2.1.0-fx.xpi')
firefox_profile.set_preference('thatoneguydotnet.QuickJava.curVersion', '2.1.0') ## Prevents loading the 'thank you for installing screen'
firefox_profile.set_preference('thatoneguydotnet.QuickJava.startupStatus.Images', 2) ## Turns images off
    firefox_profile.set_preference('thatoneguydotnet.QuickJava.startupStatus.AnimatedImage', 2) ## Turns animated images off
driver = webdriver.Firefox(firefox_profile)
driver.get(web_address_desired)