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

use*_*629 20 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
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到:

TypeError at /providers/
__init__() got an unexpected keyword argument 'path'
Run Code Online (Sandbox Code Playgroud)

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

ale*_*cxe 19

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

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('F:\FirefoxPortable\Firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)
Run Code Online (Sandbox Code Playgroud)

或者,或者,添加F:\FirefoxPortablePATH环境变量并Firefox以常规方式启动:

driver = webdriver.Firefox()
Run Code Online (Sandbox Code Playgroud)


小智 5

默认情况下,硒将查找路径-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)
Run Code Online (Sandbox Code Playgroud)