Python可以将文件安装到PATH中吗?

时间:2018-03-08 19:01:14

标签: python selenium path

为了安装Selenium,第3步(this site表示需要在PATH中安装chromedriver文件。我在一台无法直接访问系统PATH的工作计算机上。我试过列表在本地PATH(我在Windows 7上)变量链如下:C:\ Users \ mknerr \ AppData \ Local \ Programs \ Python \ Python36-32 \ Scripts \; C:\ Users \ mknerr \ AppData \ Local \程序\的Python \ Python36-32 \; C:\用户\ mknerr \应用程序数据\本地\原子\ BIN; C:\用户\ mknerr \程序\ ChromeDriver \

(.exe位于ChromeDriver文件夹中)

当我使用webDriver.Chrome()运行脚本时,我仍然得到一个WebDriverException,chromedriver需要在我的PATH中。如果有人知道为什么这不适用于我当地的PATH,我很乐意听到它们。

然而,我真正的问题是,当我将此脚本分发给我的团队的其他成员时,他们可能会遇到相同的问题,因为我的脚本将调用chromedriver,它们都不会安装,更不用说它们的PATH了。 Python可以直接在PATH中安装程序或依赖项,因此它们不必直接访问环境变量吗?我可以保证没有人会觉得这样做很舒服。

2 个答案:

答案 0 :(得分:1)

您可以将chromedriver.exe放在与可执行文件相同的文件夹中。只需使用旁边的驱动程序运行该程序。

答案 1 :(得分:1)

在我们的内部自动化框架中,我们实际上只是将Chromedriver可执行文件作为框架的一部分分发到与框架入口点相同的文件夹中。

然后,每当我们需要浏览器会话时,我们会做类似的事情:

import os
from selenium import webdriver

chromedriver_location = os.path.join(
    os.path.dirname(os.path.abspath(__file__)), 'chromedriver.exe')
context.browser = webdriver.Chrome(executable_path=chromedriver_location)
当然,

chromedriver.exe是可执行文件的默认Windows名称;改变你需要的任何东西。

这避免了除安装框架本身之外的任何用户设置。不要乱用PATH或任何其他本地文件。