首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium脚本中的Geckodriver错误。Geckodriver安装正确,但我得到“geckodriver”可执行文件需要在PATH中

Selenium脚本中的Geckodriver错误。Geckodriver安装正确,但我得到“geckodriver”可执行文件需要在PATH中
EN

Stack Overflow用户
提问于 2022-04-01 03:39:59
回答 1查看 505关注 0票数 1

我不明白为什么geckodriver不工作,为什么路径不存在。我使用Ubuntu和Firefox,卸载和重新安装geckodriver和。我检查了版本并使用了geckodriver 0.30.0 (d372710b98a6 2021-09-16 10:29 +0300)。我已经尝试过卸载和安装

代码语言:javascript
复制
wget https://github.com/mozilla/geckodriver/releases/download/v0.30.0/geckodriver-v0.30.0-linux64.tar.gz
tar -xvzf geckodriver-v0.30.0- linux64.tar.gz 
chmod + x geckodriver 
export PATH = $ PATH: / path-to-extracted-file /

我还安装了

代码语言:javascript
复制
sudo apt install firefox-geckodriver

我试图运行这个小脚本,但是我得到了一个错误:

代码语言:javascript
复制
raise WebDriverException (
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

代码

代码语言:javascript
复制
from selenium.webdriver import Firefox
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver

from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
import os

from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options
profile_path = '/home/jack/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/Browser/TorBrowser/Data/Browser/profile.default'

options=Options()
options.set_preference('profile', profile_path)
options.set_preference('network.proxy.type', 1)
options.set_preference('network.proxy.socks', '127.0.0.1')
options.set_preference('network.proxy.socks_port', 9050)
options.set_preference("network.proxy.socks_remote_dns", False)

service = Service('/usr/bin/geckodriver')
driver = Firefox(service=service, options=options)

driver.get("www.google.com")
driver.quit()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-01 10:03:01

下载GeckoDriver的路径/位置似乎有些模糊,可能不在PATH /耳聋位置。

@furas建议的这种情况下,最简单的解决方法是使用。

样本代码:

  • Selenium 3兼容代码:

从webdriver_manager.firefox导入GeckoDriverManager驱动程序=GeckoDriverManager驱动程序

  • Selenium 4兼容代码:

从selenium.webdriver.firefox.service导入from驱动程序从webdriver_manager.firefox导入GeckoDriverManager驱动程序=webdriver_manager.firefox

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

https://stackoverflow.com/questions/71701523

复制
相关文章

相似问题

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