use*_*469 10 python selenium pydev virtualenv selenium-chromedriver
短:
在https://automatetheboringstuff.com/chapter11上阅读了使用selenium模块控制浏览器后,我试图在PyDev的虚拟环境中运行Selenium Chrome驱动程序.我已经设法从PyDev外部做到了,但是从内部,我得到:
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
长:
我正在使用Linux Debian 3.10.11-1.
关注https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/,在开始使用PyDev之前,我...
使用virtualenv设置虚拟环境
安装virtualenv
pip install virtualenv
为我的项目制作了一个目录
cd ~/temp/
mkdir my_project
cd my_mproject
创建了一个名为的虚拟环境 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
退出交互模式并安装了Selenium的东西
首先是模块
pip install selenium
根据https://groups.google.com/forum/#!topic/obey-the-testing-goat-book/Ty4FQoV3S0Q的建议,安装了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()
跑吧.Chrome网络浏览器窗口已打开.大.
现在在PyDev中尝试:
大致遵循https://www.caktusgroup.com/blog/2011/08/31/getting-started-using-python-eclipse/...
安装Eclipse(霓虹灯)
安装了PyDev
在Eclipse中,创建了一个新项目(File菜单> New Project > General > Project,输入了Project Name并单击Finish).
回到命令提示符(因为我还没有发现如何在Eclipse和PyDev中执行此操作):cd'进入我的新项目的根目录并创建一个虚拟环境.
和以前一样,仍然在命令提示符下,我激活了新项目的虚拟环境并安装了Selenium模块,然后安装了chromedriver文件的可执行chromedriver_linux64.zip文件.
回到Eclipse中,我注册了我的项目以使用虚拟环境,我猜在PyDev中,它不是一个虚拟环境,而是一个解释器:
窗口菜单> 首选项 > PyDev > 解释器 > Python解释器 > 添加.
给翻译一个名字.
对于Interpreter Executable,我python2.7在项目的虚拟环境bin目录中选择了该文件
右键单击我的项目,选择Properties > PyDev - Interpreter/Grammar > Under Interpreter选择我的新解释器> OK.
给我的项目相同的脚本...
from selenium import webdriver driver = webdriver.Chrome()
并通过单击" 运行"菜单> "运行方式" >" Python运行"来运行它.
但是,现在,我在Eclipse的控制台中只收到一条消息,而不是Chrome网页浏览器窗口.
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
要从我从命令提示符运行相同的脚本时打开Web浏览器窗口,我尝试过:
将虚拟环境的bin文件夹(因为那是chromedriver文件所在的位置)添加到解释器.
删除解释器并创建新的解释器.
将其复制chromedriver到我的脚本所在的同一目录中.没有不同.
将chromedriver_linux64.zip我下载的文件添加到解释器.还是一样的错误.
我一直在继续在PyDev中编写我的脚本,然后转向命令提示符来运行它.希望我能在PyDev的调试模式下运行它.
如何PATH在PyDev 中的" "中获得这个"chromedriver",以便我可以从Eclipse运行脚本?
不确定这是否是最好的做法,但我发现了一些似乎有效的方法:我已将名为 PATH 的已可用变量添加到我的解释器中,并且我已编辑该变量的值以包含我的项目虚拟的相对路径环境的bin目录(即我保存可执行文件的目录chromedriver)。
更确切地说:
Eclipse 中的窗口菜单 > Preferences > PyDev位于左侧 > Interpreters > Python Interpreters。
选择我之前为我的项目创建的解释器(如上面的问题所述)
在“首选项”窗口的下半部分从“库”切换到“环境”
单击右侧的“选择...”按钮。
出现环境变量列表。
向下滚动列表,找到一个名为PATH的列表。选择它并单击“确定”按钮。
它及其值 ( /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games) 出现在原本为空的列表中。
我选择了它并单击“编辑”...
它的名称和值变得可编辑。
在我添加的值的右侧:env/bin(即从保存脚本的目录到项目的虚拟环境bin目录的相对路径)。
单击“确定”返回“首选项”窗口 >在“首选项”窗口中应用> “确定”关闭“首选项”窗口。
从 Eclipse 中运行程序(选择脚本文件 >运行菜单 >运行方式> Python 运行)。
Chrome(嗯,Chromium - 这是 Debian)窗口打开,就像我从命令提示符运行程序时一样。
伟大的。
| 归档时间: |
|
| 查看次数: |
14584 次 |
| 最近记录: |