Selenium 是一个 Web 应用的自动化框架。
通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文本 等操作。
而且还能从web界面获取信息。 比如获取12306票务信息,招聘网站职位信息,财经网站股票价格信息 等等,然后用程序进行分析处理。
Selenium 3.0 版本的自动化架构是这样的
从上图可以看出:
我们写的自动化程序 需要使用 客户端库。
我们程序的自动化请求都是通过这个库里面的编程接口发送给浏览器。
比如,我们要模拟用户点击界面按钮, 自动化程序里面就应该 调用客户端库相应的函数, 就会发送 点击元素 的请求给 下方的 浏览器驱动。 然后,浏览器驱动再转发这个请求给浏览器。
这个自动化程序发送给浏览器驱动的请求 是HTTP请求。
客户端库从哪里来的? 是Selenium组织提供的。
Selenium组织提供了多种 编程语言的Selenium客户端库, 包括 java,python,js, ruby等,方便不同编程语言的开发者使用。
我们只需要安装好客户端库,调用这些库,就可以发出自动化请求给浏览器咯。
浏览器驱动 也是一个独立的程序,是由浏览器厂商提供的,