user1592380
user1592380

Reputation: 36237

Setting path to firefox binary on windows with selenium webdriver

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:\FirefoxPortable\Firefox.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?

Upvotes: 24

Views: 71145

Answers (3)

Karthikeya
Karthikeya

Reputation: 314

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)

Upvotes: 6

user1767754
user1767754

Reputation: 25094

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

Upvotes: -2

alecxe
alecxe

Reputation: 473853

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

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('F:\FirefoxPortable\Firefox.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()

Upvotes: 27

Related Questions