Can't turn off images in Selenium / Firefox

Question:

I am looking to disable images in Firefox when using Selenium. It should be a simple update of the preferences in firefox, which is documented on the instructions on Disable images in Selenium Python

However when i run, images display, and when i enter about:config, the value for permissions.default.image is still 1, rather than 2 which i have tried setting it to.

My code (written in Python) is:

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)

For reference, this code works perfect with another change to preference e.g. turning off csv files with the line firefox_profile.set_preference("permissions.default.stylesheet",2). The only difference i can tell between the csv setting and the image one, is that the line permissions.default.image already exists in about:config (i.e. without me setting it), however the line permissions.default.stylesheet does not. … it seems that i can add new lines in with the value i want, but not change an existing one (or it is beein over-ridden by Selenium after i enter my value).

Asked By: kyrenia

||

Answers:

From what I understand, this problem is related to the following Firefox issues:

That means that permissions.default.image is frozen, cannot be changed and does nothing.


Alternatives:

Answered By: alecxe

I had this problem. the solution is bellow in 3 steps.
1- creating new profile for Firefox. in Windows completely close Firefox. press (Window+R) , write firefox.exe -p then press enter and create a new profile.
2-open Firefox with the created profile then open about:config in navigation bar and find permissions.default.image and make it’s number 2.
3-change your code like bellow

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

I’ve created a code sample for disabling images.

#DISABLE IMAGES ON FIREFOX
def disable_images(driver):
    driver.get("about:config")
    driver.find_element("id","warningButton").click()
    searchArea=driver.find_element("id","about-config-search")
    searchArea.send_keys("permissions.default.image")
    editButton=driver.find_element("xpath","/html/body/table/tr[1]/td[2]/button")
    editButton.click()
    editArea=driver.find_element("xpath","/html/body/table/tr[1]/td[1]/form/input")
    editArea.send_keys("2")
    saveButton=driver.find_element("xpath","/html/body/table/tr[1]/td[2]/button")
    saveButton.click()
Answered By: mkde