使用selenium 和 chromedriver遇到的一些问题

前言

当准备开始爬虫的第三个练习爬取淘宝美食的时候,根据学习教程需要用到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/seleniu

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,结束
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容