首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌的executable_path是什么?

谷歌的executable_path是什么?
EN

Stack Overflow用户
提问于 2019-08-16 17:16:44
回答 1查看 5K关注 0票数 7

我想在GoogleCol堕胎中使用geckodriver和Selenium包。以下是我尝试过的(我不是Ubuntu方面的专家)

代码语言:javascript
复制
!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错了。我很困惑。解决办法是什么?任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-19 09:32:12

executable_path

路径是用户可以传递GeckoDriver二进制文件的绝对路径的参数,该参数覆盖用于Firefox47.0.1及更高版本的GeckoDriver二进制文件的系统路径

示例

代码语言:javascript
复制
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二进制的绝对路径。如果您的usecase也要传递火狐二进制文件的绝对路径,则可以使用以下代码行:

代码语言:javascript
复制
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 -跨国界

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

代码语言:javascript
复制
# 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。此外,在指定raw string literals markerstring时,不应该有任何空格字符

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

更新2

对于GeckoDriver、Selenium和Firefox浏览器兼容性图表,您可以在WebDriverException:消息:无效的参数:不能在RaspberryPi3上使用GeckoDriver、Selenium和Python杀死已退出的进程中找到相关的讨论。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57528718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档