51Testing软件测试论坛

标题: selenium环境搭建(Python版)实战 [打印本页]

作者: lsekfe    时间: 2023-2-2 14:42
标题: selenium环境搭建(Python版)实战
使用版本如下:
  Python 3.10.6
  selenium 4.0.5
  我将从selenium环境安装开始,感兴趣的伙伴可以跟着一起来动手哦~
  selenium依赖安装
  Python环境没有的,请自行安装,本教程采用的是python 3.10.6。
  首先在selenium官网选择对应开发语言的Stable包版本,根据提示进行安装,这里拿Python举例。
  

  本地新增一个Python项目,然后通过命令pip install selenium安装最新的selenium。这里安装是4.0.5版本(如果要安装其他版本,可以通过命令pip install selenium==版本号安装指定版本),安装完成后就可以操练起来啦。
  demo初尝试
  首先来尝试官方提供的小demo,这个demo是启动一个Chrome浏览器,然后输入网址http://selenium.dev,最后关闭浏览器退出。
  1. from selenium import webdriver


  2. driver = webdriver.Chrome()

  3. driver.get("http://selenium.dev")

  4. driver.quit()
复制代码
毫无疑问,运行起来报错了(别着急,与其直接说答案,如何去定位解决问题才是更重要的),报错如下图所示:
  

  报错的意思是在系统变量PATH中找不到chromedirver。这就涉及到selenium的原理了,selenium是通过浏览器提供的webdriver去操作浏览器的,如果我们要使用Chrome浏览器就需要先下载Chrome提供的driver,其他浏览器也是如此。
  浏览器驱动安装
  selenium官方文档提供了各种浏览器的webdriver下载地址,大家可以根据自己使用的浏览器进行下载(注意要下载跟浏览器版本相同的驱动,避免不同版本的兼容问题)。
  

  下载完成后解压就可以得到chromedriver的可执行文件了,selenium官方文档中介绍了下面三种方式:
  将chromedriver执行文件的地址配置到PATH环境变量中
  在代码中指定chromedriver执行文件的地址
  使用DriverManager自动管理浏览器依赖
  第三种,对于Chrome版本号存在小版本号的时候可能会存在找不到包的情况,如下图这种报错,它的原理就是根据电脑上安装的浏览器版本号下载对应的Chromedriver压缩包到本地,但是对版本号的识别还是有问题的,暂时不建议使用,下章给大家介绍如何自己写python脚本来完成这套逻辑。
  
  demo再尝试
  这里使用第二种方案,将上面的demo代码改成下面这样(将executable_path的地址更换为自己电脑上chromedriver可执行文件的地址):
  1. from selenium import webdriverfrom selenium.webdriver.chrome.service import Serviceservice = Service(executable_path='/Users/huyanping/Softwares/chromedriver')driver = webdriver.Chrome(service=service)driver.get("http://selenium.dev")driver.quit()
复制代码


再次允许,就可以看到浏览器成功启动了,撒花~










欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2