【问题标题】:Error 'geckodriver' executable needs to be in PATH错误“geckodriver”可执行文件需要在 PATH 中
【发布时间】:2020-08-17 06:22:05
【问题描述】:

我正在开发一个包含selenium 的python 项目。我正在使用firefox,所以我下载了geckodriver。我也在路径中添加了这个:

当我运行应用程序时,它运行良好。但是每当我以管理员身份运行应用程序时,它就会开始给我以下错误:

Message: 'geckodriver' executable needs to be in PATH

我已经在路径中添加了驱动程序。那我怎么会出现这个错误。

有什么方法可以确认我是否在 Windows 环境变量中设置了正确的驱动程序路径。如何以管理员身份启动应用程序?请帮忙。谢谢

【问题讨论】:

标签: python selenium firefox geckodriver


【解决方案1】:

我已通过在 python 脚本本身中提及驱动程序的路径及其日志文件来解决该问题:

driver = webdriver.Firefox(executable_path=r'C:\geckodriver.exe', log_path=r"C:\geckodriver.log")

然后它开始正常工作

【讨论】:

    【解决方案2】:

    会不会是您在环境变量提示中将 geckodriver 设置为 uservariables 而不是 systemvariable?

    【讨论】:

    • 让我再次确认。
    • 我已将其添加到系统变量中,但仍然出现错误。我们需要在 python 代码中添加什么以使其能够利用驱动程序吗?
    • @SAndrew,你能不能重启系统,在系统变量中设置路径后检查一下。
    • 是的,我已经重新启动它不工作了。我必须从 python 代码本身给出驱动程序的完整路径,然后它开始正常工作。无论如何我们可以测试司机是否在 PATH 中的天气
    • 您可以尝试以普通用户和管理员身份在 cmd 中运行path,并检查两者是否都有 geckodriver。 $Env:Path 是 powershell 替代品
    【解决方案3】:

    似乎您已经在用户变量中设置了路径,因此在使用当前用户运行它时它可以正常工作。但作为管理员,它无法将路径识别为系统变量中不存在的路径。

    在系统变量中设置路径。

    System environment variables可供所有用户全局访问。

    User environment variables 仅适用于当前登录的用户。

    【讨论】:

    • @S Andrew,您可以使用import os for k, v in os.environ.items(): print(f'{k}={v}') 打印所有环境变量并检查驱动程序或使用print(os.environ['PATH']) 直接访问路径
    猜你喜欢
    • 2018-03-25
    • 2018-10-31
    • 2017-11-21
    • 2020-09-11
    • 1970-01-01
    • 2017-08-03
    • 2017-03-04
    • 2018-07-11
    • 2017-03-05
    相关资源
    最近更新 更多