根据一些关于 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
浏览器。
问:如何指示 Selenium 运行 Firefox Dev。我指定的路径中的版本?
最佳答案
Firefox Developer Edition 浏览器未安装在安装常规 Firefox 浏览器的常规位置。在我的 Windows 8 框中,Firefox Developer Edition 浏览器安装在目录中:
C:\Program Files\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 上,您需要提供以下的绝对路径:
- 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()
关于selenium - 如何通过Selenium打开Firefox Developer Edition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54754686/