写点什么

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

作者:虫无涯
  • 2023-04-03
    陕西
  • 本文字数:1894 字

    阅读完需:约 6 分钟

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



  • 具体目录为:


  • 详细说明:




发布于: 刚刚阅读数: 4
用户头像

虫无涯

关注

专注测试领域各种技术研究、分享和交流~ 2019-12-11 加入

CSDN测试领域优质创作者 | CSDN博客专家 | 阿里云专家博主 | 华为云享专家 | 51CTO专家博主

评论

发布
暂无评论
selenium源码通读·1 | 源码目录_Python_虫无涯_InfoQ写作社区