Python+selenium Web自动化知识点合集1

Selenium 是一套Web网站的程序自动化操作解决方案。

通过它,可以写出自动化程序,像人一样在浏览器里操作web界面。比如点击界面按钮,输入文字等操作。当然也可以从web界面获取信息,比如火车票信息等等。

 Selenium自动化原理

整个流程: 

 自动化程序 需要使用 客户端库。我们程序的自动化请求都是通过这个库里面的编程接口发送给浏览器。比如,我们要模拟用户点击界面按钮, 自动化程序里面就应该 调用客户端库相应的函数, 就会发送 点击元素 的请求给 下方的 浏览器驱动。 然后,浏览器驱动再转发这个请求给浏览器。

这个自动化程序发送给浏览器驱动的请求 是HTTP请求。

客户端库从哪里来的? 是Selenium组织提供的。Selenium组织提供了多种 编程语言的Selenium客户端库, 包括 java,python,js, ruby等,方便不同编程语言的开发者使用。

我们只需要安装好客户端库,调用这些库,就可以发出自动化请求给浏览器咯。

浏览器驱动 也是一个独立的程序,是由浏览器厂商提供的, 不同的浏览器需要不同的浏览器驱动。 比如 Chrome浏览器和 火狐浏览器有 各自不同的驱动程序。

浏览器驱动接收到我们的自动化程序发送的界面操作请求后,会转发请求给浏览器, 让浏览器去执行对应的自动化操作。

浏览器执行完操作后,会将自动化的结果返回给浏览器驱动, 浏览器驱动再通过HTTP响应的消息返回给我们的自动化程序的客户端库。

自动化程序的客户端库 接收到响应后,将结果转化为数据对象返回给 我们的代码。

我们的程序就可以知道这次自动化操作的结果如何了。

安装 

安装客户端库

对应Python语言来说,Selenium客户端库的安装非常简单,用 pip 命令即可。

打开 命令行程序,运行如下命令

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

安装浏览器驱动

以chrome为例:

CNPM Binaries Mirror点击这个网址下载与自己的浏览器版本一样的驱动。

案例演示

from selenium import  webdriver
from selenium.webdriver.chrome.service import Service
###创建一个控制浏览器的对象
###创建WebDriver类型的实例对象
wb = webdriver.Chrome(service=Service(r'D:\GoogleDownload\chromedriver-win64\chromedriver-win64\chromedriver.exe'))

# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wb.get('https://www.baidu.com')
wb = webdriver.Chrome(service=Service(r'D:\GoogleDownload\chromedriver-win64\chromedriver-win64\chromedriver.exe'))

这样写的话,

一是,比较麻烦, 每次写自动化代码都 要指定路径。

二是,如果你的代码给别人运行,他的电脑上存放浏览器驱动的路径不一定和你一样(比如他的电脑是苹果Mac电脑),得改脚本。

其他方法:

我们可以把浏览器驱动 所在目录 加入环境变量 Path , 写代码时,就可以无需指定浏览器驱动路径了,像下面这样

wd = webdriver.Chrome()

  • 19
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值