我希望在使用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覆盖)。
答案 0 :(得分:4)
据我所知,此问题与以下Firefox问题有关:
这意味着permissions.default.image
被冻结,无法更改且无效。
备选方案:
Chrome
(Disable images in Selenium ChromeDriver)答案 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)
我找到的唯一解决方案是这里描述的:
例如:
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)