Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

这篇具有很好参考价值的文章主要介绍了Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基本于Python语言 和 Selenium框架,使用PyCharm 开发环境,详细介绍自动化测试环境的搭建 以及 基本的使用方法。

一、安装Python环境

Python环境目前已被大部分主流操作系统所支持,比如在Linux、Mac、Unix等系统上就自带了Python环境,但在Windows系统上目前还需要自己安装,(当然如已经安装过了的话,这步可以直接跳过)。

1、下载Python

Python下载地址:https://www.python.org/downloads

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

根据自己的需求下载对应的Python版本,一般进入官网的下载地址默认是最新版。

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

点击Downlad Python 3.11.2 按扭后,进入下载页面,选择自己想要安装的版下载

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

2、安装Python

点击下载好的python-3.11.3-amd64.exe可执行文件,进入Python安装对话界面,选择各安装项,如:Documentation文档、pip包管理工具(必选)、tcl/tk等(一般全都选上)、配置安装路径(这里选择安装在D盘的Program Files (x86)目录下,[因为一般Windows系统默认C盘为系统盘,所以将软件安装在其他盘如:D盘])。

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

根据提示 Next 直到安装完成后,在命令窗口中输入 python --version 命令测试是否安装成功(注:若提示python命令不存在,先去检查否是有配置path环境变量(环境变量配置方法),如果path中没有配置python可手动将如下python路径添加到path中,或配置了没生效需要重启一下电脑即可)。

python --version
# 或
py --version
Python 3.11.3   # 显示版本号则表示安装成功!
	
# 输入python命令 或 py命令 按回车键 
python
	
# 进入如下python命令模式
Python 3.11.3 (tags/v3.11.3:f3909b8, Apr  4 2023, 23:49:59) [MSC v.1934 64 bit (AMD64)] on win64
Type "help", "copyright", "credits" or "license" for more information.
>>>
3、安装pip包管理工具

注:如果已安装过pip包管理工具的话,此步也可直接路过(一般在安装Python环境时,可以在安装配置项中勾选上pip,这样在安装Python环境时自动将pip也安装上了),以下是没有过安装pip的安装步骤!

pip是一个安装Python包的管理工具,很多功能强大、使用方便的Python框架、插件、工具等,都是通过pip来进行安装的,在后面的自动化测试就需要pip来安装selenium自动化集成测试框架。

(1)、下载pip

注:如果是在Linux系统环境下(只要支持apt-get命令),可以直接执行如下命令安装即可!

apt-get install python-pip

pip下载地址:https://pypi.org/project/pip

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

(2)、安装pip

将下载的pip-23.0.1.tar.gz文件解压,并在解压后的文件目录中打开命令行工具,执行安装命令(注:应步骤先安装好python环境才能执行成功哦!!)

python setup.py install

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

在命令执行结束后,执行如下命令,可查看是否安装成功。

pip --version

# 如果显示版本号则表示安装成功! 
pip 22.3.1 from D:\Program Files (x86)\Python311\Lib\site-packages\pip (python 3.11)

# 使用pip help命令可以显示所有pip的相关命令 和 功能说明
pip help
PS E:\Desktop> pip help
Usage:
  pip <command> [options]
Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  inspect                     Inspect the python environment.
  list                        List installed packages.
  show                        Show information about installed packages.
  check                       Verify installed packages have compatible dependencies.
  config                      Manage local and global configuration.
  search                      Search PyPI for packages.
  cache                       Inspect and manage pip's wheel cache.
  index                       Inspect information available from package indexes.
  wheel                       Build wheels from your requirements.
  hash                        Compute hashes of package archives.
  completion                  A helper command used for command completion.
  debug                       Show information useful for debugging.
  help                        Show help for commands.
  ...

二、安装WebDriver驱动

WebDriver给Python、Ruby、Java、C#等高级语言提供的很多API,支持开发人员使用自己喜欢的编程语言来操作浏览器,尤其是用在自动化测试上,了解更多WebDriver。

现在一般主流浏览器都有对应的WebDriver浏览器驱动,根据自己的需求下载即可。

1、下载WebDriver
  • Chrome浏览器驱动下载地址:https://chromedriver.storage.googleapis.com/index.html

  • Edge浏览器驱动下载地址:https://developer.microsoft.com/zh-cn/microsoft-edge/tools/webdriver) 或 https://msedgewebdriverstorage.z22.web.core.windows.net

  • Mozilla浏览器驱动下载地址:https://github.com/mozilla/geckodriver/tags

  • Opera浏览器驱动下载地址:https://github.com/operasoftware/operachromiumdriver/tags

  • Safari浏览器驱动下载地址:https://webkit.org/blog/6900/webdriver-support-in-safari-10

可根据自己的需求,选择对应类型版本的驱动即可,这里以微软的Edge WebDriver为例(其他也是同样的操作),进入下载页面后,根据对应浏览器版本号,然后下载对应的WebDriver驱动文件。

注:WebDriver驱动版本号 一定要和 Web浏览器版本号 对应!!
注:WebDriver驱动版本号 一定要和 Web浏览器版本号 对应!!

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

2、安装WebDriver

将下载好的developer.exe驱动文件解压后,复制移动到Python解释器所在的文件夹(就是Python的安装目录,和python.exe同级目录)就完成安装了。

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

三、安装PyCharm 开发环境

PyCharm 是一个强大的面向专业开发者的Python IDE(Python集成开发环境、代码编辑器),PyCharm完全理解代码的每个面向。 依靠它的智能代码补全、 实时错误检查和快速修复功能,轻松进行项目导航 等众多辅助功能。

1、下载PyCharm

PyCharm下载地址:https://www.jetbrains.com.cn/pycharm

根据自己的需求,选择对应操作系统下的试用收费版(【免费试用30天】比免费版支持开发语言更多、功能更齐全) 或 免费版(纯Python开发)。

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

2、安装PyCharm

点击下载好的pycharm-community-2023.1.exe可执行文件,进入PyCharm安装对话界面,配置安装路径(这里同样也选择安装在D盘的Program Files (x86)目录下),然后选择各安装项如:创建桌面快捷方式、添加环境变量、右键菜单等(一般全都选上),Next 直到安装结束。

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

待PyCharm安装完成后,自动会在桌面创建快捷方式,双击PyCharm图标打开如下界面,到此PyCharm就装完成功啦,可根据自己的需要,新建项目、打开项目、从Get拉取代码等操作。

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

3、汉化PyCharm

默认情况下PyCharm编辑器是英文界面,如果想要显示中文界面,只需安装一个汉化插件即可。

Pycharm插件方法:

首先,打开PyCharm编辑器,点击左上角的主菜单按扭,选择“ file ”选项,然后点击“ setting ”,在打开后的界面中,点击“ plugins ”选项,输入“ Chinese ”找到中文安装包,点击“ Install ”,在安装完成后,点击“ restart IDE ”重启程序 或 关闭重新启动软件就变成中文界面啦。
Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

4、其他Pycharm插件

PyCharm提供了许多好用的插件,可帮助提高开发效率,可根据自己的需要来进行安装,以下列出了一些常用的插件。
注:部公插件在安装后需要关闭Pycharm再重新打开才生效哦!

插件名称 功能用途
Rainbow Brackets 把括号的内层和外层用不同的颜色显示
Indent Rainbow 对不同层级缩进的空格标注不同的颜色
Rainbow csv 对CSV文件当中的不同的行都可以用不同的颜色标出
Tabnine 自动填充代码插件
CodeGlance 快速预览(在编辑器右侧生成预览区,拖到可快捷的定位所要寻找的代码位置)
JSON Parser JSON美化插件
Markdown Navigator 可实时的预览和编辑Markdown文件
Translation 翻译插件
Regex Tester 正则表达式测试插件
Key Promoter X 提供快捷键提示,以快速地掌握PyCharm的快捷键

四、安装Selenium框架

Selenium是一个用于Web应用程序测试的自动化集成测试操作框架。由thoughtworks 公司推出,它可以直接在浏览器中运行,模拟真实用户直接在浏览器中模拟用户操作。在自动化测试中,可用于单元测试、冒烟测试、集成测试、回归测试、系统测试等,并且可以运行在不同类型的浏览器和操作系统上。利用Selenium,可以驱动浏览器执行特定的动作,比如:点击、下拉等等,还可以获取浏览器当前呈现的页面的源代码。支持包括Microsoft Edge(IE之后)、Google Chrome、Opera、Mozilla Firefox、Apple Safari、等浏览器。

Selenium 官网:https://www.selenium.dev

Selenium GitHub地址:https://github.com/SeleniumHQ/selenium

Selenium API文档:https://www.selenium.dev/selenium/docs/api/py

1、全局安装

要查看全局安装的selenium包存放路径(一般同Python的安装路径) 如:D:\Program Files (x86)\Python311\lib\site-packages\selenium

# 格式 pip install 要安装的包名
pip install selenium
    
    
# 或(-U 安装或升级)
pip install -U selenium


# 如果要安装指定的selenium版本(安装其他包的操作也相同)
# 格式 pip install 要安装的包名 == 要指定安装的版本号
pip install selenium == 4.8.0


# 在输入pip install selenium命令后 按回车确认键,就开始显示以下安装过程
PS E:\AutoTest> pip install selenium
Defaulting to user installation because normal site-packages is not writeable
Collecting selenium
Downloading selenium-4.8.3-py3-none-any.whl (6.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━ 5.8/6.5 MB 86.6 kB/s eta 0:00:16 
2、局部安装

局部安装需要指定安装目录,可通过–target参数来指定

# 格式:
pip install --target=path_name package_name # path_name表示安装的路径, package_name表示安装包名

# 例如
pip install --target=./lib selenium # 表示将selenium包安装在,当前目录下的lib文件夹中(./表示当前目录)
3、查看与卸载
(1)、查看包的版本号

安装完成后,想要查看某个包的版本号,可在命令行工具中输入pip show 包名 来进行查看

pip show selenium

# 如在输入pip show selenium命令后 按回车确认键,会显示出selenium包的版本号、安装路径等相关信息!
PS E:\AutoTest> pip show selenium
Name: selenium
Version: 4.8.3
Summary:
Home-page: https://www.selenium.dev
Author:
Author-email:
License: Apache 2.0
Location: C:\Users\MuGuiLin\AppData\Roaming\Python\Python311\site-packages
Requires: certifi, trio, trio-websocket, urllib3
Required-by:
(2)、卸载已安装好的包

如果想要删除已安装好的包,可在命令行工具中输入 pip uninstall 包名 来进行卸载删除

pip uninstall selenium

# 在输入pip uninstall selenium命令后 按回车确认键,会显提示Proceed (Y/n)? 输入Y表示确认删除!
PS E:\AutoTest> pip uninstall selenium
Found existing installation: selenium 4.8.3
Uninstalling selenium-4.8.3:
  Would remove:
    c:\users\muguilin\appdata\roaming\python\python311\site-packages\selenium-4.8.3.dist-info\*
    c:\users\muguilin\appdata\roaming\python\python311\site-packages\selenium\*
Proceed (Y/n)?

五、自动化测试实例

1、创建实例项目

打开PyCharm编辑器,根据如下图所示创建自动化测试项目实例。
Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

2、编写实例代码

项目创建完成后,新建一个python测试文件,用于编写测试代码,具体步骤:在左侧项目AutoTest文件夹上,鼠标点击右键 -> new 新建 -> python文件,输入文件名为test.py,操作实例如下图所示:
Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解
test.py文件内容如下

# -*- coding: UTF-8 -*-

# 导入selenium框架
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 开启浏览器测试会话
driver = webdriver.Edge()

# 注:如果不在PyCharm编辑器中运行代码,侧需要指定Edge WebDriver驱动路径
# driver = webdriver.Edge(r'D:/Program Files (x86)/Python311/msedgedriver.exe')

# 指定加载浏览器RUL(要测试的网址)
driver.get("http://www.muguilin.com")

# 最大化浏览器窗口
driver.maximize_window()

# 强制延时等待1分钟
time.sleep(60)

# 退出测试会话
driver.quit()
3、运行实例代码
(1)、在PyCharm编辑器中运行代码

直接点击上方工具栏中的运行按扭(默认运行main.py文件),或 左侧左侧项目目录中的xxx.py文件上右击 -> Run运行(U) ,双或者 在左侧项目目录中选择好要运行的xxx.py文件,用快捷键同时按下Ctrl+Shift+F10来运行当前选中的文件 。
Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

(2)、在Dos命令行工具中运行代码

进入要运行代码的目录,按住Shift键不放,鼠标在空白处右击 -> 在此处打开PowerShell命令窗口(S),输入python test.py 回车便启动运行啦!

python test.py
# 或
py test.py

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

命令执行后会自动打开浏览器,并跳转到测试实例代码中指定的网址,实例效果如下:

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

(3)、从Git上 或者 是从其他地方复制过的代码,在Pycharm中打开项目运行。

在Pycharm中打开项目后,在运行时可能报selenium不存在、找不到selenium模块,selenium和webdriver上下有红色波浪线,左下角也提示:unresolved reference ‘webdriver’,导致无法运行。

原因: 在Pycharm打开新打开 或 新建项目时,会自动设置(可也以指定)运行环境为虚拟环境。此如一来,即便是之前你在操作系统中安装了selenium模块,但是这个新打开 或 新建项目的venv虚拟环境中是没有selenium 模块,所以才会提示在Pycharm 找不到selenium模块导致的这个错误。

**解决办法:**就是在项目的venv虚拟环境目录中安装selenium
1、在Pycharm中打在命令行工具
2、进入venv虚拟环境目录:cd venv
3、进入python虚拟环境:Scripts\activate
4、安装selenium模块包:pip install selenium
Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

六、扩展

想了解更多Selenium框架的使用方法,可去这里查看 https://selenium-python.readthedocs.io/api.html

# 引入selenium操作框架
from selenium import webdriver

# 开启浏览器会话
driver = webdriver.Edge()

# 显示driver对象提供的所有方法关键字
print('driver对象中的关键字:', dir(driver))

# 在下面的各个关键字前 加上 driver. 就可以访问对应的方法和常量了,如:driver.get_window_size()

'__abstractmethods__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_abc_impl', '_authenticator_id', '_file_detector', '_get_cdp_details', '_is_remote', '_mobile', '_shadowroot_cls', '_switch_to', '_unwrap_value', '_web_element_cls', '_wrap_value', 'add_cookie', 'add_credential', 'add_virtual_authenticator', 'application_cache', 'back', 'bidi_connection', 'capabilities', 'caps', 'close', 'command_executor', 'create_options', 'create_web_element', 'current_url', 'current_window_handle', 'delete_all_cookies', 'delete_cookie', 'delete_network_conditions', 'desired_capabilities', 'error_handler', 'execute', 'execute_async_script', 'execute_cdp_cmd', 'execute_script', 'file_detector', 'file_detector_context', 'find_element', 'find_elements', 'forward', 'fullscreen_window', 'get', 'get_cookie', 'get_cookies', 'get_credentials', 'get_issue_message', 'get_log', 'get_network_conditions', 'get_pinned_scripts', 'get_screenshot_as_base64', 'get_screenshot_as_file', 'get_screenshot_as_png', 'get_sinks', 'get_window_position', 'get_window_rect', 'get_window_size', 'implicitly_wait', 'launch_app', 'log_types', 'maximize_window', 'minimize_window', 'mobile', 'name', 'orientation', 'page_source', 'pin_script', 'pinned_scripts', 'port', 'print_page', 'quit', 'refresh', 'remove_all_credentials', 'remove_credential', 'remove_virtual_authenticator', 'save_screenshot', 'service', 'session_id', 'set_network_conditions', 'set_page_load_timeout', 'set_permissions', 'set_script_timeout', 'set_sink_to_use', 'set_user_verified', 'set_window_position', 'set_window_rect', 'set_window_size', 'start_client', 'start_desktop_mirroring', 'start_session', 'start_tab_mirroring', 'stop_casting', 'stop_client', 'switch_to', 'timeouts', 'title', 'unpin', 'vendor_prefix', 'virtual_authenticator_id', 'window_handles'

1、Selenium常用的浏览器操作API
# 引入selenium操作框架
from selenium import webdriver
from selenium.webdriver.common.by import By

# 开启浏览器会话
driver = webdriver.Chrome()
# driver = webdriver.Edge()

# 指定加载浏览器RUL
driver.get("http://www.muguilin.com")

# 打开新页面
driver.navigate().to("http://www.muguilin.com/blog")

# 最大化窗口(有时候执行某些按扭、事件等无效时,就是没有最大化浏览器窗口【不在可视区】导致的!)
driver.maximize_window()

# 最小化窗口
driver.minimize_window()

# 保存屏幕截图
driver.save_screenshot('fileName')

# 获取当前浏览器窗口可视区宽高
driver.get_window_size()

# 获取当前窗口坐标
driver.get_window_position()

# 设置窗口大小
driver.set_window_size(1920, 1080)

# 刷新页面
driver.refresh()

# 前进页面
driver.forward()

# 后退页面
driver.back()

# 关闭窗口
driver.close()

# 关闭浏览器会话(关闭session等)
driver.quit()

2、Selenium常用的元素选择器(元素定位)
# 引入selenium操作框架
from selenium import webdriver
from selenium.webdriver.common.by import By

# 开启浏览器会话
driver = webdriver.Chrome()

# 其他浏览器会话方法
# webdriver.Firefox()
# webdriver.FirefoxProfile()
# webdriver.FirefoxOptions()
# webdriver.Chrome()
# webdriver.ChromeOptions()
# webdriver.Ie()
# webdriver.IeOptions()
# webdriver.Edge()
# webdriver.ChromiumEdge()
# webdriver.EdgeOptions()
# webdriver.Safari()
# webdriver.WebKitGTK()
# webdriver.WebKitGTKOptions()
# webdriver.WPEWebKit()
# webdriver.WPEWebKitOptions()
# webdriver.Remote()
# webdriver.DesiredCapabilities()
# webdriver.ActionChains()
# webdriver.Proxy()
# webdriver.Keys()

# 最大化窗口
driver.maximize_window()  

# 指定加载浏览器RUL
driver.get("http://www.muguilin.com")

# 选择input元素并设置值
username = driver.find_element(by=By.ID, value='username').send_keys('admin')
passwerd = driver.find_element(by=By.ID, value='passwerd').send_keys('123456')

# 选择button元素并模拟点击事件
driver.find_element(by=By.ID, value='login-button').click()

# 设置取username输入框文本内容
username.sendKeys('root')

# 获取username输入框文本内容
username.getText()

# 清空username输入框文本内容
username.clear()

# driver.find_element(By.ID, 'xxxid') // 单个DOM元素选择器方法
# driver.find_elements(By.CLASS_NAME, 'xxxClassName') // 多个DOM元素选择器方法

# 其他DOM元素选择器方法
# ID = "id"
# NAME = "name"
# TAG_NAME = "tag name"
# CLASS_NAME = "class name"
# LINK_TEXT = "link text"
# PARTIAL_LINK_TEXT = "partial link text"
# XPATH = "xpath"
# CSS_SELECTOR = "css selector"

# 关闭浏览器会话
driver.quit()

3、Selenium鼠标模拟操作(ActionChains类)

Selenium框架中的ActionChains类供了很多,如:右击,双击,悬停,滑动、以及拖放等鼠标模拟操作。

(1)、ActionChains类
"""The ActionChains implementation,"""

class ActionChains:

    def __init__(self, driver, duration=250)

    def perform(self)
       
    def reset_actions(self)

    def click(self, on_element=None)

    def click_and_hold(self, on_element=None)
        
    def context_click(self, on_element=None)
       
    def double_click(self, on_element=None)
       
    def drag_and_drop(self, source, target)
       
    def drag_and_drop_by_offset(self, source, xoffset, yoffset)
      
    def key_down(self, value, element=None)
       
    def key_up(self, value, element=None)
        
    def move_by_offset(self, xoffset, yoffset)
        
    def move_to_element(self, to_element)
       
    def move_to_element_with_offset(self, to_element, xoffset, yoffset)
        
    def pause(self, seconds)
        
    def release(self, on_element=None)
        
    def send_keys(self, *keys_to_send)
        
    def send_keys_to_element(self, element, *keys_to_send)
        
    def scroll_to_element(self, element: WebElement)
     
    def scroll_by_amount(self, delta_x: int, delta_y: int)
       
    def scroll_from_origin(self, scroll_origin: ScrollOrigin, delta_x: int, delta_y: int)
       
    def scroll(self, x: int, y: int, delta_x: int, delta_y: int, duration: int = 0, origin: str = "viewport")
       
    def __enter__(self)
        
    def __exit__(self, _type, _value, _traceback)
    
(2)、ActionChains类的基本使用

在使用前,需要先导入ActionChains类,通过ActionChains类提供的相关方法来模拟鼠标操作,在调用ActionChains的方法时,并不是立即执行的,而是把所有的操作,按顺序存放在一个队列里,当调用perform()方法时,队列中的事件会依次执行。

# 引入selenium操作框架
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from time import sleep

# 开启浏览器会话
driver = webdriver.Chrome()

# 指定加载浏览器RUL
driver.get("http://www.baidu.com")

# 装载ActionChains类
action = ActionChains(driver)

sleep(1)

# 模拟右键点击
action.context_click().perform()

# 在选择ID为kw的input元素上 模拟右键点击
element = driver.find_element(by=By.ID, value='kw')
action.context_click(element).perform()

sleep(10)

4、Selenium键盘模拟操作(Keys类)

在自动化测试开发过程中,除了模拟鼠标操作以外,有时还需要借助模拟键盘操作一起来配合使用,Selenium的Keys类供了很多复制、粘贴、全选,以及触发回车键、删除键甚至组合式快捷键等。

(1)、Keys类
"""The Keys implementation."""
class Keys:
    """Set of special keys codes."""

    NULL = "\ue000"
    CANCEL = "\ue001"  # ^break
    HELP = "\ue002"
    BACKSPACE = "\ue003"
    BACK_SPACE = BACKSPACE
    TAB = "\ue004"
    CLEAR = "\ue005"
    RETURN = "\ue006"
    ENTER = "\ue007"
    SHIFT = "\ue008"
    LEFT_SHIFT = SHIFT
    CONTROL = "\ue009"
    LEFT_CONTROL = CONTROL
    ALT = "\ue00a"
    LEFT_ALT = ALT
    PAUSE = "\ue00b"
    ESCAPE = "\ue00c"
    SPACE = "\ue00d"
    PAGE_UP = "\ue00e"
    PAGE_DOWN = "\ue00f"
    END = "\ue010"
    HOME = "\ue011"
    LEFT = "\ue012"
    ARROW_LEFT = LEFT
    UP = "\ue013"
    ARROW_UP = UP
    RIGHT = "\ue014"
    ARROW_RIGHT = RIGHT
    DOWN = "\ue015"
    ARROW_DOWN = DOWN
    INSERT = "\ue016"
    DELETE = "\ue017"
    SEMICOLON = "\ue018"
    EQUALS = "\ue019"

    NUMPAD0 = "\ue01a"  # number pad keys
    NUMPAD1 = "\ue01b"
    NUMPAD2 = "\ue01c"
    NUMPAD3 = "\ue01d"
    NUMPAD4 = "\ue01e"
    NUMPAD5 = "\ue01f"
    NUMPAD6 = "\ue020"
    NUMPAD7 = "\ue021"
    NUMPAD8 = "\ue022"
    NUMPAD9 = "\ue023"
    MULTIPLY = "\ue024"
    ADD = "\ue025"
    SEPARATOR = "\ue026"
    SUBTRACT = "\ue027"
    DECIMAL = "\ue028"
    DIVIDE = "\ue029"

    F1 = "\ue031"  # function  keys
    F2 = "\ue032"
    F3 = "\ue033"
    F4 = "\ue034"
    F5 = "\ue035"
    F6 = "\ue036"
    F7 = "\ue037"
    F8 = "\ue038"
    F9 = "\ue039"
    F10 = "\ue03a"
    F11 = "\ue03b"
    F12 = "\ue03c"

    META = "\ue03d"
    COMMAND = "\ue03d"
    ZENKAKU_HANKAKU = "\ue040"
    
(2)、Keys类的基本使用

在使用前,需要先导入Keys类,在选择好DOM元素后,配合send_keys()方法一起模拟键盘操作文章来源地址https://www.toymoban.com/news/detail-436611.html

# 引入selenium操作框架
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from time import sleep

# 开启浏览器会话
driver = webdriver.Chrome()

# 指定加载浏览器RUL
driver.get("http://www.baidu.com")

sleep(1)

# 在选择ID为kw的input元素上 模拟按回车键
driver.find_element(by=By.ID, value='kw').send_keys('沐枫', Keys.ENTER) # 回车键(ENTER)
#driver.switch_to.active_element.send_keys(Keys.ENTER)

sleep(10)
"""
单个键 模拟
element.send_keys(Keys.F1)				# 键盘F1
element.send_keys(Keys.F5)				# 键盘F5(页面刷新)
element.send_keys(Keys.F12)				# 键盘F2(页面调试)
element.send_keys(Keys.TAB)				# 制表键(TAB)
element.send_keys(Keys.BACK_SPACE)		# 退格键(BackSpace)
element.send_keys(Keys.DELETE)		    # 删除键(DELETE)
element.send_keys(Keys.ENTER)			# 回车键(ENTER)
element.send_keys(Keys.SPACE)			# 空格键(SPACE)
"""

"""
组合键 模拟
element.send_keys(Keys.CONTROL,'a')		# 全选(Ctrl+A)
element.send_keys(Keys.CONTROL,'x')		# 剪切(Ctrl+X)
element.send_keys(Keys.CONTROL,'c')		# 复制(Ctrl+C)
element.send_keys(Keys.CONTROL,'s')		# 保存(Ctrl+S)
element.send_keys(Keys.CONTROL,'v')		# 粘贴(Ctrl+V)
"""

到了这里,关于Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python+Selenium3+Chrome自动化测试环境搭建

    写在最前面,因为各种原因,搭建该环境方法多种多样。在本教程中,展示环境搭建的详细步骤。在不同软硬件环境下安装报错,可找出原因,百度排错。 本博客的具体操作视频请移步B站: https://www.bilibili.com/video/BV1oe4y1w7yr/?spm_id_from=333.999.list.card_archive.clickvd_source=585bb8c205

    2024年02月02日
    浏览(62)
  • web自动化测试框架落地实施全过程-测试环境搭建 (Selenium+Python)

    Web自动化测试是指使用自动化工具模拟用户在Web浏览器中执行的操作,通过编写脚本来自动化执行测试用例,以验证Web应用程序的功能、性能和兼容性等方面的质量。其主要目的是降低测试成本和时间,并提高测试效率和准确性。 Web自动化测试通常包括以下步骤: 确定测试

    2024年02月09日
    浏览(88)
  • Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

    基本于Python语言 和 Selenium框架,使用PyCharm 开发环境,详细介绍自动化测试环境的搭建 以及 基本的使用方法。 Python环境目前已被大部分主流操作系统所支持,比如在Linux、Mac、Unix等系统上就自带了Python环境,但在Windows系统上目前还需要自己安装,(当然如已经安装过了的话

    2024年02月03日
    浏览(71)
  • selenium 自动化测试—如何搭建自动化测试环境?

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,

    2024年02月19日
    浏览(97)
  • selenium 自动化测试:如何搭建自动化测试环境,搭建环境过程应该注意的问题

    最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,但是对于没有学过的人来说,通过资料再到自己写的代码,发现有些东西没有,有些方法又不相同,导致脚本不能运行

    2024年02月10日
    浏览(53)
  • 【自动化测试】Java+Selenium自动化测试环境搭建

    本主要介绍以Java为基础,搭建Selenium自动化测试环境,并且实现代码编写的过程。 1.Selenium介绍 Selenium 1.0 包含 core、IDE、RC、grid 四部分,selenium 2.0 则是在两位大牛偶遇相互沟通决定把面向对象结构化(OOPP)和便于编写代码的各自思想予以整合后形成的新工具,也就是我们所

    2024年02月11日
    浏览(53)
  • selenium 自动化测试——环境搭建

    安装python,并且使用pip命令安装 selenium 然后尝试第一次使用selenium 完成一个简单的测试自动化脚本 执行过程中,你会发现执行到第4行时会报错,那是因为没有下载对应的浏览器驱动, 下载对应的驱动,我的是chrome浏览器,查看版本 然后找到对应的webdriver文件下载,完成后

    2024年02月10日
    浏览(52)
  • 自动化测试-selenium环境搭建

    自动化是指使用软件工具、脚本或程序来执行一系列的任务、操作或流程,而无需人工干预或指导。 自动化测试:使用自动化工具和脚本来执行测试用例,验证软件的正确性和稳定性。自动化测试可以快速执行,并可以重复执行,以降低人工测试的成本和时间。常见的自动化

    2024年02月16日
    浏览(47)
  • Selenium1:搭建自动化测试环境

    Selenium IDE/我的第一个web自动化程序 2020/4/28 周二 64-66 官网:https://www.selenium.dev/ 分三块: Selenium IDE,是Firefox的扩展插件,支持用户录制和回放测试 Selenium WebDriver,提供了各种语言环境的API来支持更多控制权和编写符合标准软件开发实践的应用程序。 SeleniumGrid,分布式自动化

    2024年02月03日
    浏览(58)
  • UI自动化测试篇 :Selenium2(Webdriver)&TestNG自动化测试环境搭建

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!    最开始学习UI自动化,用的工具是QTP10,用起来确实比较容易上手

    2024年03月10日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包