如何通过Selenium打开Firefox Developer Edition

问题描述 投票:2回答:2

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

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

但我希望Selenium打开我拥有的Developer版本,因为它包含我想要测试的扩展:当我为Developer Edition可执行文件的路径进行sepcify时:

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

然后运行我的python脚本:

from selenium import webdriver
browser = webdriver.Firefox()

Selenium仍然打开geckodriver浏览器。

问:我如何指示Selenium运行Firefox Dev。我指定的路径版本?

selenium selenium-webdriver geckodriver selenium-firefoxdriver firefox-developer-edition
2个回答
1
投票

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
投票

您可以使用FirefoxBinary,如下所述:Setting path to firefox binary on windows with selenium webdriver

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

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('F:\FirefoxPortable\Firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)
© www.soinside.com 2019 - 2024. All rights reserved.