我试图用硒打开Firefox,我尝试过
from selenium import webdriver
driver=webdriver.Firefox()
但是我遇到了以下错误:
selenium.common.exceptions.WebDriverException: Message: 'firefox' executable needs to be in PATH.
Selenium using Python - Geckodriver executable needs to be in PATH
我尝试过
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('/usr/bin/firefox')
browser = webdriver.Firefox(firefox_binary=binary)
也尝试过
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
caps = DesiredCapabilities.FIREFOX
caps['marionette'] = True
caps['binary'] = '/usr/bin/firefox'
d = webdriver.Firefox(capabilities=caps)
`,但仍然无法正常工作。
但是,当我尝试使用以上代码用
替换最后一行时 d=webdriver.Firefox(capabilities=caps,executable_path='/usr/bin/firefox')
,将我的Firefox从后台关闭会打开Firefox,但我不能简单地d.get("https://www.google.com")
它卡在Linux主页上,并且不会打开任何内容。
在终端机中输入whereis firefox
后,我得到了/usr/bin/firefox
,同样重要的是,我使用python 2.7
注意:我希望这不是上面链接的重复,因为我尝试了答案,但并没有解决问题。
我从github安装了 geckodriver ,并尝试了browser=webdriver.Firefox(executable_path="geckodriver")
,我将驱动程序放在了相同的目录。
答案 0 :(得分:1)
仍不清楚为什么您看到此错误:
selenium.common.exceptions.WebDriverException: Message: 'firefox' executable needs to be in PATH.
在大多数情况下,与PATH相关的常见错误与 geckodriver 相关。
但是,在使用Selenium 3.x时,您需要从mozilla/geckodriver下载最新的 GeckoDriver 并将其保存在系统中的任何位置,并提供 GeckoDriver的绝对路径通过参数 executable_path
。
以下代码块可完美打开 Firefox Nightly Browser (安装在自定义位置):
代码块:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.binary_location = '/path/to/firefox'
driver = webdriver.Firefox(firefox_options=options, executable_path='/path/to/geckodriver')
driver.get('http://google.com/')
print("Page title is: %s" %(driver.title))
driver.quit()
控制台输出:
Page title is: Google