关于pycharm中使用selenium

发表于:2023-9-04 09:41

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

 作者:内心世界爆炸患者    来源:知乎

  一.何时我们需要使用到selenium
  一个普通的无特殊的网页例如http://www.baidu.com使用urllib.request.urlopen`就可以获取到网页上的数据,但是对于像有ajax [async js and xml] 异步加载的网页使用上述函数就可能出现获取到的网页上的内容和实际的网页源代码不相符的情况,此时我们使用selenium自动化测试工具,模拟出打开浏览器访问服务器的整个过程来获取网页资源就可以解决原来方式的弊端。
  二.如何使用selenium
  先看一段使用了selenium的代码
  from selenium import webdriver
  browser = webdriver.Chrome()
  browser.get("http://www.baidu.com")
  print(browser.page_source)
  browser.close()
  · 若在pycharm中运行该段代码,会报出一个错误,即ImportError: No module named 'selenium'
  第一步:安装selenium,安装链接如下:selenium安装
  + 下载selenium-2.48.tar.gz
  + 在cmd中,进入解压路径,执行python setup.py install进行安装
  + 成功
  此时再运行该段代码,可能又会在原处from selenium import webdriver报出同一个错误,但是我们已经安装了呀?...
  第二步:在pycharm中,file-Default Settings-Project Interpreter,点击右上角的小齿轮,Add Local,添加磁盘上安装Python的文件夹下的python.exe,即可使用selenium
  此时再运行该段代码,又会报出一个错误WebDriverException: 'chromedriver' executable needs to be in PATH
  第三步:缺少chromedriver在path中,其中chromedriver是selenium驱动chrome浏览器的驱动器,没有这个驱动器是不能驱动打开chrome浏览器的
  + 在浏览器上检索'chrome://version/'能查到对应的版本号
  + 查看chrome版本与chromedriver版本的对应情况:点我查看
  + 安装chromedriver,安装地址为:安装地址.其中根据系统下载对应链接的chromedriver.
  下载完成后,解压到当前文件夹,运行chromedriver.exe,若打印出only local connections are allowed,就不要管,没问题。
  此时再运行该段代码,发现还是报出WebDriverException: 'chromedriver' executable needs to be in PATH的错误。
  第四步:将刚解压出来的chromedriver.exe转移到Python的根目录下,注意,一定是Python的根目录下,并添加Python根目录/chromedriver.exe到Path下。
  · 此时再运行该段代码,如果报出 selenium.common.exceptions.WebDriverException: Message: unknown error: unable to discover open pages
  (Driver info: chromedriver=2.4.226107,platform=Windows NT 6.1 SP1 x86_64)的错误
  第五步:该错误说明是你下载的chromedriver的版本问题,错误显示chromedriver是v2.4的,查找映射表,显示支持的chrome是v29-30,明显版本太低了,就对照映射表重新安装正确的版本
  此时再运行该段代码,成功访问。
  Note
  介绍一种在pycharm中,手动添加chromedriver.exe到path路径的方法
  path='C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe'
  browser = webdriver.Chrome(executable_path=path)
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号