selenium源码分析小结
2021/8/28 12:06:08
本文主要是介绍selenium源码分析小结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一.selenium 目录说明
selenium common --公用方法 webdriver --浏览器方法 __init__.py --将常用方法导入包
下面将详细介绍主要功能的实现
1.这里已初始化代码用例进行讲解
selenium 框架是一个B/S架构需要启动服务端,webdriver.common.service即是启动启动浏览器server代码。本地启用的server都是继承webdriver.common.service.下面例子是启动本地driver server。可以看到实例driver 其实就是一个本地服务http://localhost:10000和http://localhost:10001 即时2个启动的server接口。只需要给这个url发送命令即可驱动浏览器。配置不同端口即可同时打开相同浏览器。
from selenium import webdriver 这段代码实际导入是selenium.webdriver.cchrome.webdriver.WebDriver(RemoteWebDriver) 类,这是启动本地webdriver server
driver1 = webdriver.Chrome(port=10000) driver2 = webdriver.Chrome(port=10001) s_url1 = driver1.service.service_url s_url2 = driver2.service.service_url print(s_url1) print(s_url2) 输出结果
http://localhost:10000
http://localhost:10001
webdriver 通过调用chrome.service类启动浏览器驱动server。远程启动不需要调用的,远程server手动开启的。
二.web启动流程讲解(谷歌为例)
初始化方法里面的启动服务源码
self.service = Service( executable_path, port=port, service_args=service_args, log_path=service_log_path) self.service.start()
建立连接源码
self.command_executor = command_executor if type(self.command_executor) is bytes or isinstance(self.command_executor, str): self.command_executor = RemoteConnection(command_executor, keep_alive=keep_alive)
#command_executor 为连接地址,
1.实例化driver时,实际就是启动web驱动服务,并建立连接
2.通过def execute(self, driver_command, params=None): 方法发送符合W3C协议的命令即可驱动浏览器
#本文属个人分析,如有错误请指出,谢谢
这篇关于selenium源码分析小结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南