如何通过 Selenium 打开 Firefox Developer Edition

How to open Firefox Developer Edition through Selenium

提问人:user9371654 提问时间:2/19/2019 最后编辑:undetected Seleniumuser9371654 更新时间:11/18/2023 访问量:4755

问:

在 Selenium 上的一些教程之后,我安装了 .为了在python上运行一个简单的代码来运行Selenium,我必须在命令行中指定以下路径:geckodriver

export PATH=$PATH:/home/xx/Downloads/geckodriver-v0.24.0-linux64

但是我希望Selenium打开我拥有的开发人员版本,因为它包含我要测试的扩展: 当我确定开发人员版可执行文件的路径时:

export PATH=$PATH:/home/xx/Documents/ff_extension/firefox/

然后运行我的 python 脚本:

from selenium import webdriver
browser = webdriver.Firefox()

Selenium 仍然打开浏览器。geckodriver

问:如何指示 Selenium 在我指定的路径中运行 Firefox Dev. Edition?

Selenium Gecko Selenium-Firefox驱动程序 Firefox-Developer-Edition

评论


答:

0赞 Jens Dibbern 2/19/2019 #1

您可以按照以下说明使用:使用 selenium webdriver 在 Windows 上设置 firefox 二进制文件的路径FirefoxBinary

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

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('F:\FirefoxPortable\Firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)
2赞 undetected Selenium 2/19/2019 #2

Firefox Developer Edition 浏览器没有安装在常规 Firefox 浏览器安装的传统位置。在我的 Windows 8 盒子中,Firefox Developer Edition 浏览器安装在目录中:

C:\Program Files\Firefox Developer Edition

现在,在调用 Firefox Developer Edition 浏览器时,您需要通过参数firefox_binary传递 Firefox Developer Edition 二进制文件绝对路径,如下所示:

  • 代码块:

    from selenium import webdriver
    from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
    
    firefox_dev_binary = FirefoxBinary(r'C:\Program Files\Firefox Developer Edition\firefox.exe')
    driver = webdriver.Firefox(firefox_binary=firefox_dev_binary, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
    driver.get('https://www.google.co.in')
    print("Page Title is : %s" %driver.title)
    # driver.quit()
    
  • 控制台输出:

    Page Title is : Google
    
  • 浏览器快照:

Firefox-DeveloperEdition


此用例

当您在 Linux 上时,您需要提供以下绝对路径:

  • Firefox Developer Edition 二进制文件
  • GeckoDriver 二进制文件

因此,您的有效代码块将是:

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

firefox_dev_binary = FirefoxBinary('/path/to/Firefox Developer Edition/firefox')
driver = webdriver.Firefox(firefox_binary=firefox_dev_binary, executable_path='/home/xx/Downloads/geckodriver-v0.24.0-linux64/geckodriver')
driver.get('https://www.google.co.in')
print("Page Title is : %s" %driver.title)
# driver.quit()
0赞 Tomasz 11/17/2023 #3

另一种选择:

from selenium.webdriver.firefox.options import Options as FirefoxOptions

s = FirefoxOptions()
driver = webdriver.Firefox(options=s)