在说原理以前我想说下我所理解的selenium:php
(1)、支持多语言,多平台,多浏览器java
(2)、它是一个工具包python
(3)、提供全部的网页操做api,是一个功能库web
经过selenium来实现web自动化,其中的原理涉及到三个最主要的东西:代码、webdriver、浏览器编程
一、代码:他就是咱们写的自动化脚本,支持多语言,有python,java,c#,php,js等,测试工程师经过编程语言,调用浏览器对应API实现须要的功能。c#
二、webdriver:webdriver,就像是一个媒介。代码驱动webdriver。不一样浏览器有不一样的webdriver。例如火狐的FirefoxDriver,谷歌的 ChromeDriver。api
三、浏览器:就是咱们平时所用到的不一样的浏览器,谷歌,火狐,IE,不一样版本的浏览器对应不一样版本的webdriver浏览器
上面这张图简单的描述了web自动化实现的一个过程:(如下说明以chromdriver为例)编程语言
a、启动chromdriver
b、python代码要与chromdriver程序进行链接(http通讯)
c、chromdriver收到请求后,驱动浏览器执行
d、浏览器执行完成后返回执行结果给chromdriver
e、chromdriver把执行结果告诉python代码工具