使用Selenium和Chromedriver遇到的一些问题

发表于:2018-3-12 11:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小白猿    来源:简书

  前言
  当准备开始爬虫的第三个练习爬取淘宝美食的时候,根据学习教程需要用到selenium(一款比较优秀的web自动化测试框架),已经配合使用谷歌浏览器的驱动chromedriver。最开始我觉得只要下载了selenium安装包以后,然后在下载chromedriver(我以为是插件一类,安装在Google浏览器就行)就完事OK了,但是不然,现在简单记述一下我配置的过程,我的电脑系统是MacOS。
  安装selenium
  · 我查到的安装方法大致分为两类,一种是用pip install -U selenium
  · 但是试了很多次都报错,以现在的水平也暂时看不太懂,转战另外一种安装方式,用homebrew,貌似最近几次我框架安装的时候遇到问题,brew install selenium-server-standalone,成功
  · 安装完以后一脸懵逼,根据提示,启动服务selenium-server -port 4444,启动了再根据提示0.0.0.0:4444,这个就是说外网也可以访问,然后我用本地访问,发现服务启动了,z至此selenium算是安装成功了
  
selenium服务启动成功
  pycharm以及Python环境遇到的坑
  当selenium安装结束以后,我在pycharm新建项目准备测试的时候,发现selenium无法导入一直爆红
  (from selenium import webdriver),
  执行项目报错
  ImportError: No module named selenium,
  后来反复查看确实是安装成功了,但是项目引用不到,忘记从哪里看到,有可能是路径问题,我看了一眼selenium的安装路径,也没问题
  brew info selenium-server-standalone
  后来经过反复查询发现在Python环境的site-packages目录下,确实没有selenium,然后去新建项目的时候发现系统中转了几套Python环境,但是系统自带的确实没有selenium
  最终在另外一套带有selenium的环境中新建项目,解决,顺便记录一下路径/usr/local/lib/python2.7/site-packages/selenium
  chromedriver的坑
  本想今天一天时间在学习一套爬虫项目,但是前边的坑坑坑就弄了一上午,下面说下chromedriver
  在前言中我觉得chromedriver是个插件,下载了就好,但是最后下载了然后写测试代码,理论上讲应该呼起一个谷歌浏览器,但是
  from selenium import webdriver
  dr = webdriver.Chrome()
  报错信息如下
  selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH
  第一感觉是把chromedriver放下项目目录之下,项目能自动搜躲到,但是不能,后来经过百般Google,查到一个办法
  import  os
  chromedriver = "/usr/local/Cellar/chromedriver/2.28/bin/chromedriver"
  os.environ["webdriver.chrome.driver"] = chromedriver
  driver = webdriver.Chrome(chromedriver)
  driver.get("http://stackoverflow.com")
  driver.quit()
  依旧报错,后来又是偶然,发现chromedriver不单单是光下载就行了,也是一个单独的软件吧,所以依旧使用homebrew进行了安装brew install chromedriver,然后回看bin目录/usr/local/Cellar/chromedriver/2.28/bin,将其复制到上边的代码chromedriver =的后边,见证奇迹的时刻,运行终于呼起了Google浏览器
  然后还不算完,我觉得这样的路径肯定太特殊了,既然涉及到bin,
  那么一定有一种配置环境变量的方式,结果真有
  vim ~/.bash_profile
  export PATH=$PATH:ChromeDriver目录(注意,是存放的目录,不是这个文件,就是bin的目录)
  :wq
  source ~/.bash_profile
  简言之,就是在 ~/.bash_profile 文件中加入
  export PATH=$PATH:ChromeDriver的bin路径
  OK,结束
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号