selenium源码通读·1 | 源码目录

2023-12-11 01:59
文章标签 源码 selenium 目录 通读

本文主要是介绍selenium源码通读·1 | 源码目录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

·1 | 源码目录

  • 1 源码获取
  • 2 使用pycharm查看源码
  • 3 源码目录
  • 4 目录说明

1 源码获取

  • 官网下载:https://pypi.org/project/selenium/
  • 或使用pip安装:pip install selenium
  • 这里使用pip安装后,目录存在的python的安装目录下,如本文为:
D:\Python37\Lib\site-packages\selenium

2 使用pycharm查看源码

  • 新建一个项目selenium_study

  • 设置项目的Python Interpreter
    在这里插入图片描述

  • 设置完后在外部库中就可以看到对应的python相关库了

  • 注:这里为什么这么复杂的,不就是看个源码吗?怎么还创建了个项目,这个主要是为了后续的源码练习使用的。
    在这里插入图片描述

  • 如上图,在外部库中\Python37\Lib\site-packages\selenium中可看到selenium的源码

3 源码目录

# 在selenium的同级目录使用如下命令,查看完整的selenium源码目录:
tree selenium /f > selenium.txt
D:\PYTHON37\LIB\SITE-PACKAGES\SELENIUM
│  __init__.py
│  
├─common
│  │  exceptions.py
│  │  __init__.py
│          
├─webdriver
│  │  __init__.py
│  │  
│  ├─android
│  │  │  webdriver.py
│  │  │  __init__.py
│  │          
│  ├─blackberry
│  │  │  webdriver.py
│  │  │  __init__.py
│  │          
│  ├─chrome
│  │  │  options.py
│  │  │  remote_connection.py
│  │  │  service.py
│  │  │  webdriver.py
│  │  │  __init__.py
│  │          
│  ├─common
│  │  │  action_chains.py
│  │  │  alert.py
│  │  │  by.py
│  │  │  desired_capabilities.py
│  │  │  keys.py
│  │  │  proxy.py
│  │  │  service.py
│  │  │  touch_actions.py
│  │  │  utils.py
│  │  │  __init__.py
│  │  │  
│  │  ├─actions
│  │  │  │  action_builder.py
│  │  │  │  input_device.py
│  │  │  │  interaction.py
│  │  │  │  key_actions.py
│  │  │  │  key_input.py
│  │  │  │  mouse_button.py
│  │  │  │  pointer_actions.py
│  │  │  │  pointer_input.py
│  │  │  │  __init__.py
│  │  │          
│  │  ├─html5
│  │  │  │  application_cache.py
│  │  │  │  __init__.py
│  │          
│  ├─edge
│  │  │  options.py
│  │  │  service.py
│  │  │  webdriver.py
│  │  │  __init__.py
│  │          
│  ├─firefox
│  │  │  extension_connection.py
│  │  │  firefox_binary.py
│  │  │  firefox_profile.py
│  │  │  options.py
│  │  │  remote_connection.py
│  │  │  service.py
│  │  │  webdriver.py
│  │  │  webdriver.xpi
│  │  │  webdriver_prefs.json
│  │  │  webelement.py
│  │  │  __init__.py
│  │  │  
│  │  ├─amd64
│  │  │      x_ignore_nofocus.so
│  │  │      
│  │  ├─x86
│  │  │      x_ignore_nofocus.so
│  │          
│  ├─ie
│  │  │  options.py
│  │  │  service.py
│  │  │  webdriver.py
│  │  │  __init__.py
│  │          
│  ├─opera
│  │  │  options.py
│  │  │  webdriver.py
│  │  │  __init__.py
│  │          
│  ├─phantomjs
│  │  │  service.py
│  │  │  webdriver.py
│  │  │  __init__.py
│  │          
│  ├─remote
│  │  │  command.py
│  │  │  errorhandler.py
│  │  │  file_detector.py
│  │  │  getAttribute.js
│  │  │  isDisplayed.js
│  │  │  mobile.py
│  │  │  remote_connection.py
│  │  │  switch_to.py
│  │  │  utils.py
│  │  │  webdriver.py
│  │  │  webelement.py
│  │  │  __init__.py
│  │          
│  ├─safari
│  │  │  permissions.py
│  │  │  remote_connection.py
│  │  │  service.py
│  │  │  webdriver.py
│  │  │  __init__.py
│  │          
│  ├─support
│  │  │  abstract_event_listener.py
│  │  │  color.py
│  │  │  events.py
│  │  │  event_firing_webdriver.py
│  │  │  expected_conditions.py
│  │  │  select.py
│  │  │  ui.py
│  │  │  wait.py
│  │  │  __init__.py
│  │          
│  ├─webkitgtk
│  │  │  options.py
│  │  │  service.py
│  │  │  webdriver.py
│  │  │  __init__.py       

4 目录说明

  • 一级目录主要涉及commonwebdriver
    在这里插入图片描述
  • 其中:
# common:通用的异常类
# webdriver:核心实现类
  • 这里的__init__.py里边主要是版本号,本文是3.141.0
    在这里插入图片描述
  • 具体目录为:
    在这里插入图片描述
  • 详细说明:
目录说明
common/exceptions.py定义了所有可能在webdriver代码中出现的异常
webdriver/android
webdriver/blackberry
webdriver/chrome
webdriver/edge
webdriver/ie
webdriver/firefox
webdriver/opera
webdriver/phantomjs
webdriver/safari
webdriver/webkitgtk
定义各个浏览器兼容的代码,用于支持不同的浏览器
webdriver/common定义了webdriver所指定的通用能力
webdriver/remote定义了webdriver核心能力
webdriver/support定义了webdriver的辅助能力

『全栈测试技术,分享,共勉,共进,提升』


这篇关于selenium源码通读·1 | 源码目录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/479059

相关文章

springboot家政服务管理平台 LW +PPT+源码+讲解

3系统的可行性研究及需求分析 3.1可行性研究 3.1.1技术可行性分析 经过大学四年的学习,已经掌握了JAVA、Mysql数据库等方面的编程技巧和方法,对于这些技术该有的软硬件配置也是齐全的,能够满足开发的需要。 本家政服务管理平台采用的是Mysql作为数据库,可以绝对地保证用户数据的安全;可以与Mysql数据库进行无缝连接。 所以,家政服务管理平台在技术上是可以实施的。 3.1

高仿精仿愤怒的小鸟android版游戏源码

这是一款很完美的高仿精仿愤怒的小鸟android版游戏源码,大家可以研究一下吧、 为了报复偷走鸟蛋的肥猪们,鸟儿以自己的身体为武器,仿佛炮弹一样去攻击肥猪们的堡垒。游戏是十分卡通的2D画面,看着愤怒的红色小鸟,奋不顾身的往绿色的肥猪的堡垒砸去,那种奇妙的感觉还真是令人感到很欢乐。而游戏的配乐同样充满了欢乐的感觉,轻松的节奏,欢快的风格。 源码下载

基于Java医院药品交易系统详细设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W+,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码+数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人  Java精品实战案例《600套》 2023-2025年最值得选择的Java毕业设计选题大全:1000个热

美容美发店营销版微信小程序源码

打造线上生意新篇章 一、引言:微信小程序,开启美容美发行业新纪元 在数字化时代,微信小程序以其便捷、高效的特点,成为了美容美发行业营销的新宠。本文将带您深入了解美容美发营销微信小程序,探讨其独特优势及如何助力商家实现业务增长。 二、微信小程序:美容美发行业的得力助手 拓宽客源渠道:微信小程序基于微信社交平台,轻松实现线上线下融合,帮助商家快速吸引潜在客户,拓宽客源渠道。 提升用户体验:

风水研究会官网源码系统-可展示自己的领域内容-商品售卖等

一款用于展示风水行业,周易测算行业,玄学行业的系统,并支持售卖自己的商品。 整洁大气,非常漂亮,前端内容均可通过后台修改。 大致功能: 支持前端内容通过后端自定义支持开启关闭会员功能,会员等级设置支持对接官方支付支持添加商品类支持添加虚拟下载类支持自定义其他类型字段支持生成虚拟激活卡支持采集其他站点文章支持对接收益广告支持文章评论支持积分功能支持推广功能更多功能,搭建完成自行体验吧! 原文

HTML5文旅文化旅游网站模板源码

文章目录 1.设计来源文旅宣传1.1 登录界面演示1.2 注册界面演示1.3 首页界面演示1.4 文旅之行界面演示1.5 文旅之行文章内容界面演示1.6 关于我们界面演示1.7 文旅博客界面演示1.8 文旅博客文章内容界面演示1.9 联系我们界面演示 2.效果和源码2.1 动态效果2.2 源代码2.3 源码目录 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh

关于word文档中目录的switch

有很多的switch,下面这篇文章介绍的比较详细,可以参考:http://word.mvps.org/FAQs/Formatting/TOCSwitches.htm

mediasoup 源码分析 (八)分析PlainTransport

mediasoup 源码分析 (六)分析PlainTransport 一、接收裸RTP流二、mediasoup 中udp建立过程 tips 一、接收裸RTP流 PlainTransport 可以接收裸RTP流,也可以接收AES加密的RTP流。源码中提供了一个通过ffmpeg发送裸RTP流到mediasoup的脚本,具体地址为:mediasoup-demo/broadcaste

Tkinter和selenium结合实现登录UC后台,最后打包成exe

主要实现的功能:小号模式自动登录UC阿里汇川广告后台,屏蔽账号密码输入 主要用的技术:用Tkinter展示所有的广告账号界面,使用selenium控制谷歌浏览器,打开阿里汇川登录页,登录汇川后台。 第一次写,遇到的坑比较多,三天,搞定。给自己一个棒棒~☺️ import Tkinter as tk import osimport sysimport requestsfrom sel

Java并发编程—阻塞队列源码分析

在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。   在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了D