源码阅读篇:简叙selenium的执行过程

从理论上面说明

https://blog.csdn.net/lovedingd/article/details/110929187
浏览器会内置js的解释器(运行代码的环境),可以通过编写js代码控制浏览器进行相应的操作,但是没有内置python的解释器,所以我们不能直接通过python去控制浏览器,这个时候就需要一个中间人,这个中间人就是webdriver浏览器驱动包,他会将python代码映射成对应的js代码,让js去控制浏览器,达到间接控制的一个效果。webdriver本质上是一个web server服务,里面有很多的接口,这个服务会提供很多的接口,python将参数传递过来,然后webdriver调用内部的接口,让js操作浏览器执行操作。

从源码上面说明
image.png
第一步:进行webdriver.Chrome()实例化
image.png
image.png
其实就是相当于启动chromedriver.exe路径
image.png

webdriver做了两件事,第一件事初始化了一个服务器,第二件事创建了一个远程连接,然后后续对浏览器的操作,比如dr.get(),底层会将该方法转换成对应的接口地址,将传入的参数作为请求参数,通过RemoteConnection下面的方法向webdriver发送请求,然后webdriver执行请求下面的js代码,以此控制浏览器

posted @ 2021-07-03 23:49  中州韵  阅读(116)  评论(0编辑  收藏  举报