Python 如何解决;chromedriver可执行文件需要位于路径“中”;在PyDev中使用virtualenv运行Selenium Chrome时出错?
简称: 在阅读了使用selenium模块控制浏览器后,我试图在PyDev的虚拟环境中运行selenium Chrome驱动程序。我在PyDev之外成功地做到了这一点,但在PyDev内部,我得到了:Python 如何解决;chromedriver可执行文件需要位于路径“中”;在PyDev中使用virtualenv运行Selenium Chrome时出错?,python,selenium,virtualenv,pydev,selenium-chromedriver,Python,Selenium,Virtualenv,Pydev,Selenium Chromedriver,简称: 在阅读了使用selenium模块控制浏览器后,我试图在PyDev的虚拟环境中运行selenium Chrome驱动程序。我在PyDev之外成功地做到了这一点,但在PyDev内部,我得到了: selenium.common.exceptions.WebDriverException:消息:“chromedriver”可执行文件需要位于路径中。 长: 我使用的是Linux Debian 3.10.11-1 接下来,在开始使用PyDev之前,我 使用VirtualEnvironment设置虚拟
selenium.common.exceptions.WebDriverException:消息:“chromedriver”可执行文件需要位于路径中。
长:
我使用的是Linux Debian 3.10.11-1
接下来,在开始使用PyDev之前,我
selenium.common.exceptions.WebDriverException:消息:“chromedriver”可执行文件需要位于路径中。
- 将虚拟环境的
文件夹(因为bin
文件就在那里)添加到解释器chromedriver
- 删除解释器并创建新的解释器
- 将
复制到脚本所在的同一目录中。没有区别chromedriver
- 添加我下载到解释器的
chromedriver\u linux64.zip文件。还是一样的错误
如何在PyDev中的“
路径”中获得这个“chromedriver”,以便从Eclipse中运行脚本?不确定这是否是最好的做法,但我发现了一些似乎有效的方法:我已将名为PATH的已可用变量添加到解释器中,我已经编辑了该变量的值,以包括项目虚拟环境的bin
目录(即保存chromedriver
可执行文件的目录)的相对路径
更准确地说:
窗口Eclipse中的菜单>首选项左侧的PyDev解释器Python解释器
选择我先前为我的项目创建的解释器(如上面问题中所述)
在首选项窗口的下半部分,从库切换到环境
单击右侧的选择…按钮
出现了环境变量的列表
向下滚动列表,找到一个名为PATH。选中它并单击“确定”按钮
它及其值(/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
)出现在其他空列表中
我选择了它并点击编辑…
它的名称和值变得可编辑
在我添加的值的右端:env/bin
(即,从保存脚本的目录到项目虚拟环境的bin
目录的相对路径)
单击确定返回到首选项窗口>首选项窗口中的应用确定关闭首选项窗口
从Eclipse中运行程序(选择脚本文件>Run菜单>runasPython Run)
一个Chrome(Chrome,这是Debian)窗口打开了,就像我在命令提示符下运行程序时一样
很好。如果所有将chromedriver放入路径的尝试都失败,您也可以将可执行路径交给webdriver.Chrome(),如下所示:
这是我尝试从VirtualNV运行chromedriver时的最终解决方案。步骤1到3对我有效,然后在Python解释器中,在环境中,我可以单击New,创建一个变量:例如“chromedriver”,其值为:“/usr/local/bin”,然后单击Apply&OK。为了更清楚地了解值路径,您可以检查ChromeDrive在系统中的位置。在Mac上,这通常可以在“/usr/local/bin/chromedriver”中找到。
cd my_mproject
virtualenv env
source env/bin/activate
python
Python 2.7.12rc1 (default, Jun 13 2016, 09:20:59)
[GCC 5.4.0 20160609] on linux2
pip install selenium
cd env/bin/
wget http://chromedriver.storage.googleapis.com/2.22/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
from selenium import webdriver
driver = webdriver.Chrome()
from selenium import webdriver
driver = webdriver.Chrome()
chromedriver_loc = '/path/to/chromedriver'
driver = webdriver.Chrome(executable_path=chromedriver_loc)