gpt4 book ai didi

python-3.x - geckodriver 的 Google Colaboratory 中的 executable_path 是什么?

转载 作者:行者123 更新时间:2023-12-03 16:50:46 27 4
gpt4 key购买 nike

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

!pip install selenium
!apt-get update
!apt install firefox-geckodriver
from selenium.webdriver.firefox.options import Options as FirefoxOptions

firefox_options = FirefoxOptions()
firefox_options.add_argument("--headless")
driver = webdriver.Firefox(executable_path=r'/usr/bin/firefox', options=firefox_options)

这里 r'/usr/bin/firefox是错的。我糊涂了。解决办法是什么?任何帮助表示赞赏。

最佳答案

可执行路径

executable_path是用户可以通过的参数绝对路径 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/")

但是在您的代码试验中,您已经通过了 的绝对路径火狐 二进制文件而不是 GeckoDriver 二进制文件。如果您的用例是传递 的绝对路径火狐 二进制也可以使用以下代码行:
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/')

Google-Colaboratory 中的 GeckoDriver

您需要安装 geckodriver、firefox 和 selenium 并将路径添加到系统中的路径变量或复制到 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 .此外,同时指定 executable_path 之间不应有任何空格字符raw string literals marker string

You can find a relevant discussion in SyntaxError: invalid syntax with executable_path in ipython



更新 2

对于 GeckoDriver、Selenium 和 Firefox 浏览器兼容性图表,您可以在 WebDriverException: Message: invalid argument: can't kill an exited process with GeckoDriver, Selenium and Python on RaspberryPi3 中找到相关讨论。

关于python-3.x - geckodriver 的 Google Colaboratory 中的 executable_path 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57528718/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com