简短:
在https://automatetheboringstuff.com/chapter11阅读了使用selenium模块控制浏览器后,我试图在PyDev的虚拟环境中运行SeleniumChrome驱动程序。我已经设法从PyDev外部做到了这一点,但从内部,我得到了:
< code > selenium . common . exceptions . web driver exception:消息:“chromedriver”可执行文件需要位于路径中。
长:
我用的是LinuxDebian 3.10.11-1
跟随https://www . dabapps . com/blog/introduction-to-pip-and-virtualenv-python/,甚至在开始使用PyDev之前,我。。
>
使用虚拟环境设置虚拟环境
>
已安装虚拟环境
pip install virtualenv
为我的项目制作了一个目录
cd ~/temp/
mkdir my_project
cd my_mproject
创建了一个名为< code>env的虚拟环境
virtualenv env
已激活它。
source env/bin/activate
进入Python的交互模式,告诉自己我正在使用哪个版本的Python
python
Python 2.7.12rc1 (default, Jun 13 2016, 09:20:59) [GCC 5.4.0 20160609] on linux2
退出交互模式并安装了硒的东西
>
首先是模块
pip install selenium
根据https://groups.google.com/forum/#!的建议topic/observe-the-testing-goat-book/ty 4 fqov 3s 0 q,已安装chromedriver
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()
运行它。此时将打开一个浏览器窗口。伟大。
现在在PyDev中尝试一下:
大致如下https://www . caktusgroup . com/blog/2011/08/31/getting-started-using-python-eclipse/。。。
>
已安装的Eclipse(Neon)
已安装PyDev
在Eclipse中,创建了一个新项目(文件菜单
回到命令提示符处(因为我还没有找到如何在Eclipse和PyDev中实现这一点):< code>cd进入我的新项目的根目录,并创建了一个虚拟环境。
像以前一样,仍然在命令提示符下,我激活了新项目的虚拟环境,安装了Selenium模块,然后安装了< code > chrome driver _ Linux 64 . zip 文件的< code>chromedriver可执行文件。
回到Eclipse,我注册了我的项目来使用虚拟环境,我想用PyDev的行话来说这不是虚拟环境,而是一个解释器:
>
窗口菜单
给翻译起了个名字。
对于解释器可执行文件,我在项目的虚拟环境的bin目录中选择了python2.7文件
右键单击我的项目,选择属性
给了我的项目同样的脚本。。。
from selenium import webdriver driver = webdriver.Chrome()
并通过点击运行菜单来运行它
但是现在,Chrome浏览器窗口没有打开,我在Eclipse的控制台上只看到一条消息:
< code > selenium . common . exceptions . web driver exception:消息:“chromedriver”可执行文件需要位于路径中。
为了让Web浏览器窗口像从命令提示符运行相同的scrip时那样打开,我尝试了:
>
将虚拟环境的bin
文件夹(因为那是chromedrive
文件所在的位置)添加到解释器。
删除解释器并创建新的解释器。
将< code>chromedriver复制到我的脚本所在的目录中。没有区别。
将我下载的chromedriver_linux64.zip
文件添加到解释器。仍然是相同的错误。
我一直在继续用PyDev编写脚本,然后转到命令提示符来运行它。只是希望我能在PyDev的调试模式下运行它。
我如何在PyDev的“< code>PATH”中获得这个“chromedriver”,以便从Eclipse运行脚本?
如果将chromedrive放入PATH的所有尝试都失败,您还可以将可执行路径交给webdriver.Chrome(),如下所示:
chromedriver_loc = '/path/to/chromedriver'
driver = webdriver.Chrome(executable_path=chromedriver_loc)
这是我在尝试从虚拟env运行chrome驱动程序时的最终解决方案。
不确定这是否是最好的办法,但我找到了一些似乎有效的东西:我已经向我的解释器添加了名为PATH的可用变量,并且我已经编辑了该变量的值以包含项目虚拟环境的bin
目录(即,我保存了chromedriver
可执行文件的目录)的相对路径。
更准确地说:
>
Eclipse中的窗口菜单
选择我之前为我的项目创建的解释器(如上面问题中所述)
在首选项窗口的下半部分从库切换到环境
已单击“选择...按钮在右边。
出现了环境变量列表。
向下滚动列表,找到一个名为PATH的。选择它并单击确定按钮。
它和它的值(/usr/local/bin:/usr/bin:/bin:/usr/local/game:/usr/game
)出现在否则为空的列表中。
我选择了它并点击了编辑…
它的名称和价值变得可编辑。
在值的右端,我添加了: env/bin
(即,从保存我的脚本的目录到我项目的虚拟环境的bin
目录的相对路径)。
单击确定返回首选项窗口
从Eclipse中运行程序(选择了脚本文件
一个Chrome(嗯,Chrome——这是Debian)窗口打开了,就像我在命令提示符下运行程序时发生的一样。
伟大。
$brew安装chromedriver-找不到bash:brew:命令 我下载了chrome驱动程序,甚至把它放在了工作目录中。仍然会出现这个错误。我几乎不知道python是什么。请帮忙。
...我不断收到以下错误消息: 但是-如上所述-可执行文件是(!)在路上...这是怎么回事?
我是编程新手,大约两个月前开始使用Python,现在正在复习Sweigart的“用Python文本自动处理无聊的东西”。我正在使用IDLE并且已经安装了Selenium模块和Firefox浏览器。
问题内容: 错误信息: “ chromedriver”可执行文件必须位于PATH中 我试图在pycharm中使用Selenium编写脚本,但是发生了以上错误。我已经将硒链接到pycharm上(如此处所示)(最新)。 我是硒的新手,不是“ selenium”文件夹中的chromedriver。如果不是,我在哪里可以找到它并将其添加到路径中? 顺便说一句,我尝试在cmd中键入“ chromedrive
问题内容: 错误信息: “ chromedriver”可执行文件必须位于PATH中 我试图在pycharm中使用Selenium编写脚本,但是发生了以上错误。我已经将selenium链接到pycharm上(如此处所示)(最新)。 我是selenium的新手,不是“ selenium”文件夹中的chromedriver。如果不是,我在哪里可以找到它并将其添加到路径中? 顺便说一句,我尝试在cmd中键
问题内容: 当我运行脚本时,出现此错误 这是我的剧本 问题答案: 如果我们分析日志,似乎主要问题在于in 和随后的错误消息 。 因此,从错误中很明显,Python客户端无法找到 二进制文件。 您必须在这里注意以下几点: :参数配置 不是 将选择的文件路径, 但不会 在末尾追加。 这里是我的示例代码系统开始 在 :