Selenium 是一个 Web 应用的自动化框架。
通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文字等操作。
而且还能从web界面获取信息。 比如招聘网站职位信息,财经网站股票价格信息等,然后用程序进行分析处理。
程序的自动化请求都是通过这个库里面的编程接口发送给浏览器。
比如,模拟用户点击界面按钮, 自动化程序里面就应该调用客户端库相应的函数, 就会发送 点击元素 的请求给下方的浏览器驱动。 然后,浏览器驱动再转发这个请求给浏览器。
这个自动化程序发送给浏览器驱动的请求是HTTP请求。
客户端库由Selenium组织提供。
Selenium组织提供了多种 编程语言的Selenium客户端库, 包括 java,python,js, ruby等,方便不同编程语言的开发者使用。
selenium 自动化流程如下:
- 自动化程序调用Selenium 客户端库函数(比如点击按钮元素)
- 客户端库会发送Selenium 命令给浏览器的驱动程序
- 浏览器驱动程序接收到命令后 ,驱动浏览器去执行命令
- 浏览器执行命令
- 浏览器驱动程序获取命令执行的结果,返回给自动化程序
- 自动化程序对返回结果进行处理
简单的实现一下如何打开浏览器并输入网址吧
#首先需要导入selenium中的webdrive
from selenium import webdriver
# 创建 WebDriver对象,指明使用chrome浏览器驱动,也有其他的浏览器类型
wd = webdriver.Chrome(r'd:\webdrivers\chromedriver.exe')
# 调用WebDriver对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')
执行完自动化代码,如果想关闭浏览器窗口可以调用WebDriver对象的 quit 方法,像这样: wd.quit()