使用selenium webdriver在windows上设置firefox二进制文件的路径

时间:2014-09-07 19:13:09

标签: python firefox selenium selenium-webdriver

我正在尝试构建一个实用程序函数来向浏览器输出漂亮的汤代码我有以下代码:

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

当我跑步时,我得到:

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

我正在使用win7。如何设置便携式firefox可执行文件的路径?

3 个答案:

答案 0 :(得分:19)

要将自定义路径设置为Firefox,您需要使用FirefoxBinary

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

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

或者,也可以将F:\FirefoxPortable添加到PATH环境变量中,并按常规方式启动Firefox

driver = webdriver.Firefox()

答案 1 :(得分:4)

默认情况下,selenium会查看路径 - C:\ Program Files(x86)\ Mozilla Firefox \

请使用链接 - http://filehippo.com/download_firefox/67599/安装Firefox并尝试

为此,您无需提供二进制文件。

如果要在自定义位置安装Firefox,请在弹出位置时根据需要提供目录。如果您安装在自定义位置,那么我们需要在代码中提及Firefox二进制位置,如下所示

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)

答案 2 :(得分:0)

例如,如果您已经从here下载了chrome驱动程序,则可以这样指定路径:

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