在有关Selenium的一些教程之后,我安装了geckodriver
。为了在python上运行一个简单的代码来运行Selenium,我必须在命令行中指定以下路径:
export PATH=$PATH:/home/xx/Downloads/geckodriver-v0.24.0-linux64
但是我希望Selenium打开我拥有的Developer版本,因为它包含我要测试的扩展: 当我分隔Developer Edition可执行文件的路径时:
export PATH=$PATH:/home/xx/Documents/ff_extension/firefox/
然后运行我的python脚本:
from selenium import webdriver
browser = webdriver.Firefox()
Selenium仍将打开geckodriver
浏览器。
答案 0 :(得分:1)
Firefox开发人员版浏览器未在安装常规 Firefox 浏览器的常规位置安装。在我的 Windows 8 框中,在目录中安装了 Firefox Developer Edition 浏览器:
C:\Program Files\Firefox Developer Edition
现在,在调用 Firefox Developer Edition 浏览器时,您需要通过参数传递 Firefox Developer Edition二进制文件的绝对路径。 > firefox_binary
如下:
代码块:
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
浏览器快照:
在 Linux 上,您需要提供以下内容的绝对路径:
所以您的有效代码块将是:
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()
答案 1 :(得分: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)