【python+selenium的web自动化】- Selenium WebDriver原理及安装

如果想从头学起selenium,可以去看看这个系列的文章哦!

https://www.cnblogs.com/miki-peng/category/1942527.html

简单介绍

selenium

​ selenium是一个用于测试web网页的自动化测试工具,它直接运行在浏览器中,模拟用户的操作。

  • 🍋 支持多浏览器:ie、Firefox、Chrome、edge、Safari等
  • 🍋 跨平台:windows、Linux、mac等
  • 🍋 支持多语言:python、java、ruby、c#等

webdriver

​ webdriver则是selenium里最重要的东西,它是按照client/server模式设计的,通过驱动程序与浏览器进行通信。而selenium代码与浏览器驱动程序之间是通过http协议进行数据交互的,这种方式,不在乎客户端是什么样的形式,只要数据的格式和协议是服务端能够解析的就可以,因此它可以跨平台,支持多语言多浏览器。

  • 🍓 client:编程语言客户端,比如说python selenium客户端
  • 🍓 server:浏览器驱动程序,用来接收客户端的请求并驱动浏览器执行操作然后返回结果。

通信步骤

  • 🍏 1. webdriver启动浏览器驱动程序,并设置侦听端口号
  • 🍏 2. webdriver客户端与浏览器端建立连接
  • 🍏 3. 连接成功之后,所有的操作(比如查找元素、点击等)都是客户端通过commandExecuter发送http请求到服务端,服务端根据收到的请求做相应的操作并返回结果

三大浏览器及驱动:

​ 每一个浏览器匹配一个驱动,驱动版本还要匹配对应的浏览器的版本,否则运行可能会报错不兼容等问题。

  • 🍆 Chrome:chromedriver
  • 🍆 IE: ieserverdriver
  • 🍆 Firefox:geckodriver

环境安装

🍄 1.安装selenium

​ 命令行使用以下命令直接安装:pip install -U selenium

🍄 2.安装浏览器及其驱动

​ 这里以Chrome为例,驱动下载地址 http://npm.taobao.org/mirrors/chromedriver/ ,驱动目录下有一个notes.txt文件,里面记录了该驱动支持的浏览器版本,根据提示安装对应的浏览器版本。浏览器驱动是.exe文件,下载后直接放在python的根目录下即可。

启动浏览器

​ 使用webdriver前,需要先导入包from selenium import webdriver,每次打开浏览器时,执行完毕要记得关闭浏览器,使用driver.quit()关闭。

from selenium import webdriver
import time


# 实例化chrome类,启动了Chromedriver,并与Chromedriver开启了会话
# ip + 端口 -- 启动
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
time.sleep(5)
# 关闭浏览器
drver.quit()
posted @ 2021-03-07 14:08  miki_peng  阅读(2227)  评论(1编辑  收藏  举报