kyrenia
kyrenia

Reputation: 5575

Can't turn off images in Selenium / Firefox

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).

Upvotes: 6

Views: 7923

Answers (4)

λuser
λuser

Reputation: 1001

As of 2023-10, it does work again, though the code has changed a bit since selenium 4:

import shutil

from selenium.webdriver import FirefoxProfile, Firefox
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options


profile = FirefoxProfile()
profile.set_preference("permissions.default.image", 2)

options = Options()
options.profile = profile

service = Service(executable_path=shutil.which("geckodriver"))
driver = Firefox(service=service, options=options)

Upvotes: 2

mkde
mkde

Reputation: 17

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()

Upvotes: 1

Ario
Ario

Reputation: 659

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);

Upvotes: 1

alecxe
alecxe

Reputation: 474271

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:

Upvotes: 8

Related Questions