多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

使用Selenium和Chromedriver遇到的一些问题-自动化测试

更新时间:2022-03-31 09:38:40 作者:多测师 浏览:283

  当准备开始爬虫的第三个练习爬取淘宝美食的时候,根据学习教程需要用到selenium(一款比较优秀的web端自动化测试框架),已经配合使用谷歌浏览器的驱动chromedriver。最开始我觉得只要下载了selenium安装包以后,然后在下载chromedriver(我以为是插件一类,安装在Google浏览器就行)就完事OK了,但是不然,现在简单记述一下我配置的过程,我的电脑系统是MacOS。

使用Selenium和Chromedriver遇到的一些问题-自动化测试

  安装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,结束

  以上内容为大家介绍了自动化测试中的使用Selenium和Chromedriver遇到的一些问题,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部