0
点赞
收藏
分享

微信扫一扫

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​
  • selenium源码通读·1 | 源码目录_firefox

  • 设置完后在外部库中就可以看到对应的python相关库了
  • 注:这里为什么这么复杂的,不就是看个源码吗?怎么还创建了个项目,这个主要是为了后续的源码练习使用的。
  • selenium源码通读·1 | 源码目录_android_02

  • 如上图,在外部库中​​\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 目录说明

  • 一级目录主要涉及​​common​​​和​​webdriver​​:
  • selenium源码通读·1 | 源码目录_selenium_03

  • 其中:

# common:通用的异常类
# webdriver:核心实现类

  • 这里的​​__init__.py​​里边主要是版本号,本文是3.141.0
  • selenium源码通读·1 | 源码目录_pycharm_04

  • 具体目录为:
  • selenium源码通读·1 | 源码目录_selenium_05

  • 详细说明:

目录

说明

​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 | 源码目录_android_06



举报

相关推荐

0 条评论