Python 3.x geckodriver在Google Colaboratory中的可执行路径是什么?

Python 3.x geckodriver在Google Colaboratory中的可执行路径是什么?,python-3.x,firefox,selenium-webdriver,google-colaboratory,geckodriver,Python 3.x,Firefox,Selenium Webdriver,Google Colaboratory,Geckodriver,我想在Google Colaboratory中使用geckodriver和Selenium Python包。以下是我尝试过的(我不是Ubuntu专家) 这里的r'/usr/bin/firefox是错误的。我很困惑。解决办法是什么?非常感谢您的帮助。可执行路径 是一个参数,用户可以通过该参数传递GeckoDriver二进制文件的绝对路径,覆盖用于Firefox 47.0.1及更高版本的GeckoDriver二进制文件的系统路径 范例 from selenium import webdriver f

我想在Google Colaboratory中使用geckodriver和Selenium Python包。以下是我尝试过的(我不是Ubuntu专家)

这里的
r'/usr/bin/firefox
是错误的。我很困惑。解决办法是什么?非常感谢您的帮助。

可执行路径 是一个参数,用户可以通过该参数传递GeckoDriver二进制文件的绝对路径,覆盖用于Firefox 47.0.1及更高版本的GeckoDriver二进制文件的系统路径

范例

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

options = Options()
options.add_argument("start-maximized")
options.add_argument("--headless")
driver = webdriver.Firefox(options=options, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
driver.get("http://google.com/")

但是在您的代码测试中,您通过了Firefox二进制文件的绝对路径,而不是GeckoDriver二进制文件。如果您的用例也要传递Firefox二进制文件的绝对路径,那么您可以使用以下代码行:

from selenium import webdriver

binary = r'C:\Program Files\Mozilla Firefox\firefox.exe'
options = webdriver.FirefoxOptions()
options.binary = binary
options.add_argument("start-maximized")
options.add_argument("--headless")
browser = webdriver.Firefox(firefox_options=options, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
browser.get('http://google.com/')

谷歌实验室的壁虎河 您需要安装geckodriver、firefox和selenium,并将路径添加到系统中的path变量或在bin目录中进行复制,您可以使用以下解决方案:

# install firefox, geckodriver, and selenium
!apt-get update
!pip install selenium
!apt install firefox-geckodriver
!cp /usr/lib/geckodriver /usr/bin
!cp /usr/lib/firefox /usr/bin

from selenium import webdriver

binary = '/usr/bin/firefox'
options = webdriver.FirefoxOptions()
options.binary = binary
options.add_argument('start-maximized')
options.add_argument('--headless')
browser = webdriver.Firefox(firefox_options=options, executable_path='/usr/bin/geckodriver')
browser.get('http://google.com/')

更新1 根据您在评论中提到的错误,当您使用
ipython
时,选项应在单引号内传递,如
start maximized
--headless
。此外,在指定
可执行路径时,
原始字符串文字标记
字符串
之间不应存在任何空格字符

您可以在中找到相关的讨论


更新2
对于GeckoDriver、Selenium和Firefox浏览器兼容性图表,您可以在

@orde Not replicate中找到相关讨论。我的问题是关于geckodriver的,在谷歌实验室里。在我的电脑chromedriver中,geckodriver运行良好。在谷歌实验室,我可以成功地安装chromedriver,并且运行良好。但是webdriver.Firefox有点不同。“原则上”我知道该怎么做,但我没有找到必要的细节。@vesszabo检查答案更新并告诉我状态。您的解决方案是正确的,firefox、geckodriver都在/usr/bin中。但是-->6 browser=webdriver.Firefox(options=options,executable_path='/usr/bin/geckodriver')WebDriverException:消息:无效参数:无法终止退出的进程我搜索了stackoverflow,并说这是版本问题。我不知道我应该选择哪个版本。我试过了!apt安装-升级firefox geckodriver,但没有帮助。请多给我一点帮助。我删除了我以前的评论,因为当我完成编辑并想添加时,我用了5分钟,只展示了我评论的一部分。很抱歉给您带来不便。@vesszabo使用兼容性图表更新了。如果有任何疑问,请告诉我。
!cp/usr/lib/geckodriver/usr/bin
导致错误,没有这样的文件,geckodriver存储在/usr/bin/geckodriver中<代码>!cp/usr/lib/firefox/usr/bin
也不起作用,/usr/lib/firefox是一个目录,而不是一个文件。总的来说,代码失败,异常为“进程意外关闭,状态信号”。请更新您的答案。
# install firefox, geckodriver, and selenium
!apt-get update
!pip install selenium
!apt install firefox-geckodriver
!cp /usr/lib/geckodriver /usr/bin
!cp /usr/lib/firefox /usr/bin

from selenium import webdriver

binary = '/usr/bin/firefox'
options = webdriver.FirefoxOptions()
options.binary = binary
options.add_argument('start-maximized')
options.add_argument('--headless')
browser = webdriver.Firefox(firefox_options=options, executable_path='/usr/bin/geckodriver')
browser.get('http://google.com/')