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?
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()
By default selenium will look into the path - C:\Program Files (x86)\Mozilla Firefox\
Please install Firefox using the link - http://filehippo.com/download_firefox/67599/ 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)