Setting path to firefox binary on windows with selenium webdriver

Question:

I am trying to build a utility function to output beautiful soup code to a browser I have the following code:

def bs4_to_browser(data):

    from selenium import webdriver

    driver = webdriver.Firefox(path="F:FirefoxPortableFirefox.exe")
    driver.get("about:blank")

    data = '<h1>test</h1>'  # supposed to come from BeautifulSoup
    driver.execute_script('document.body.innerHTML = "{html}";'.format(html=data))

    return

when I run this I get:

TypeError at /providers/
__init__() got an unexpected keyword argument 'path'

I am using win7. How to I set the path to the portable firefox executable?

Asked By: user1592380

||

Answers:

To set the custom path to Firefox you need to use FirefoxBinary:

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('F:FirefoxPortableFirefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)

Or, alternatively, add F:FirefoxPortable to the PATH environment variable and fire up Firefox in a usual way:

driver = webdriver.Firefox()
Answered By: alecxe

By default selenium will look into the path – C:Program Files (x86)Mozilla Firefox

Please install Firefox using the link – https://www.mozilla.org/en-US/firefox/new/ and try

For this, you no need to give the binary.

If you want to install Firefox in custom location then give the directory as your wish when it pops up for location. If you installed in custom location then we need to mention Firefox binary location in the code as below

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary("C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
fp = webdriver.FirefoxProfile()
driver = webdriver.Firefox(firefox_binary=binary, firefox_profile=fp)
Answered By: Karthikeya

If you for example downloaded the chrome driver already, you can just specify the path to it like that:

from selenium import webdriver
driver = webdriver.Chrome(r'D:\chromedriver.exe')
Answered By: user1767754