国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

這篇具有很好參考價值的文章主要介紹了Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

基本于Python語言 和 Selenium框架,使用PyCharm 開發(fā)環(huán)境,詳細介紹自動化測試環(huán)境的搭建 以及 基本的使用方法。

一、安裝Python環(huán)境

Python環(huán)境目前已被大部分主流操作系統(tǒng)所支持,比如在Linux、Mac、Unix等系統(tǒng)上就自帶了Python環(huán)境,但在Windows系統(tǒng)上目前還需要自己安裝,(當然如已經(jīng)安裝過了的話,這步可以直接跳過)。

1、下載Python

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

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

根據(jù)自己的需求下載對應的Python版本,一般進入官網(wǎng)的下載地址默認是最新版。

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

點擊Downlad Python 3.11.2 按扭后,進入下載頁面,選擇自己想要安裝的版下載

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

2、安裝Python

點擊下載好的python-3.11.3-amd64.exe可執(zhí)行文件,進入Python安裝對話界面,選擇各安裝項,如:Documentation文檔、pip包管理工具(必選)、tcl/tk等(一般全都選上)、配置安裝路徑(這里選擇安裝在D盤的Program Files (x86)目錄下,[因為一般Windows系統(tǒng)默認C盤為系統(tǒng)盤,所以將軟件安裝在其他盤如:D盤])。

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

根據(jù)提示 Next 直到安裝完成后,在命令窗口中輸入 python --version 命令測試是否安裝成功(注:若提示python命令不存在,先去檢查否是有配置path環(huán)境變量(環(huán)境變量配置方法),如果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環(huán)境時,可以在安裝配置項中勾選上pip,這樣在安裝Python環(huán)境時自動將pip也安裝上了),以下是沒有過安裝pip的安裝步驟!

pip是一個安裝Python包的管理工具,很多功能強大、使用方便的Python框架、插件、工具等,都是通過pip來進行安裝的,在后面的自動化測試就需要pip來安裝selenium自動化集成測試框架。

(1)、下載pip

注:如果是在Linux系統(tǒng)環(huán)境下(只要支持apt-get命令),可以直接執(zhí)行如下命令安裝即可!

apt-get install python-pip

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

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

(2)、安裝pip

將下載的pip-23.0.1.tar.gz文件解壓,并在解壓后的文件目錄中打開命令行工具,執(zhí)行安裝命令(注:應步驟先安裝好python環(huán)境才能執(zhí)行成功哦!?。?/p>

python setup.py install

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

在命令執(zhí)行結束后,執(zhí)行如下命令,可查看是否安裝成功。

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,支持開發(fā)人員使用自己喜歡的編程語言來操作瀏覽器,尤其是用在自動化測試上,了解更多WebDriver。

現(xiàn)在一般主流瀏覽器都有對應的WebDriver瀏覽器驅動,根據(jù)自己的需求下載即可。

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

可根據(jù)自己的需求,選擇對應類型版本的驅動即可,這里以微軟的Edge WebDriver為例(其他也是同樣的操作),進入下載頁面后,根據(jù)對應瀏覽器版本號,然后下載對應的WebDriver驅動文件。

注:WebDriver驅動版本號 一定要和 Web瀏覽器版本號 對應??!
注:WebDriver驅動版本號 一定要和 Web瀏覽器版本號 對應!!

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

2、安裝WebDriver

將下載好的developer.exe驅動文件解壓后,復制移動到Python解釋器所在的文件夾(就是Python的安裝目錄,和python.exe同級目錄)就完成安裝了。

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

三、安裝PyCharm 開發(fā)環(huán)境

PyCharm 是一個強大的面向專業(yè)開發(fā)者的Python IDE(Python集成開發(fā)環(huán)境、代碼編輯器),PyCharm完全理解代碼的每個面向。 依靠它的智能代碼補全、 實時錯誤檢查和快速修復功能,輕松進行項目導航 等眾多輔助功能。

1、下載PyCharm

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

根據(jù)自己的需求,選擇對應操作系統(tǒng)下的試用收費版(【免費試用30天】比免費版支持開發(fā)語言更多、功能更齊全) 或 免費版(純Python開發(fā))。

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

2、安裝PyCharm

點擊下載好的pycharm-community-2023.1.exe可執(zhí)行文件,進入PyCharm安裝對話界面,配置安裝路徑(這里同樣也選擇安裝在D盤的Program Files (x86)目錄下),然后選擇各安裝項如:創(chuàng)建桌面快捷方式、添加環(huán)境變量、右鍵菜單等(一般全都選上),Next 直到安裝結束。

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

待PyCharm安裝完成后,自動會在桌面創(chuàng)建快捷方式,雙擊PyCharm圖標打開如下界面,到此PyCharm就裝完成功啦,可根據(jù)自己的需要,新建項目、打開項目、從Get拉取代碼等操作。

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

3、漢化PyCharm

默認情況下PyCharm編輯器是英文界面,如果想要顯示中文界面,只需安裝一個漢化插件即可。

Pycharm插件方法:

首先,打開PyCharm編輯器,點擊左上角的主菜單按扭,選擇“ file ”選項,然后點擊“ setting ”,在打開后的界面中,點擊“ plugins ”選項,輸入“ Chinese ”找到中文安裝包,點擊“ Install ”,在安裝完成后,點擊“ restart IDE ”重啟程序 或 關閉重新啟動軟件就變成中文界面啦。
Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

4、其他Pycharm插件

PyCharm提供了許多好用的插件,可幫助提高開發(fā)效率,可根據(jù)自己的需要來進行安裝,以下列出了一些常用的插件。
注:部公插件在安裝后需要關閉Pycharm再重新打開才生效哦!

插件名稱 功能用途
Rainbow Brackets 把括號的內(nèi)層和外層用不同的顏色顯示
Indent Rainbow 對不同層級縮進的空格標注不同的顏色
Rainbow csv 對CSV文件當中的不同的行都可以用不同的顏色標出
Tabnine 自動填充代碼插件
CodeGlance 快速預覽(在編輯器右側生成預覽區(qū),拖到可快捷的定位所要尋找的代碼位置)
JSON Parser JSON美化插件
Markdown Navigator 可實時的預覽和編輯Markdown文件
Translation 翻譯插件
Regex Tester 正則表達式測試插件
Key Promoter X 提供快捷鍵提示,以快速地掌握PyCharm的快捷鍵

四、安裝Selenium框架

Selenium是一個用于Web應用程序測試的自動化集成測試操作框架。由thoughtworks 公司推出,它可以直接在瀏覽器中運行,模擬真實用戶直接在瀏覽器中模擬用戶操作。在自動化測試中,可用于單元測試、冒煙測試、集成測試、回歸測試、系統(tǒng)測試等,并且可以運行在不同類型的瀏覽器和操作系統(tǒng)上。利用Selenium,可以驅動瀏覽器執(zhí)行特定的動作,比如:點擊、下拉等等,還可以獲取瀏覽器當前呈現(xiàn)的頁面的源代碼。支持包括Microsoft Edge(IE之后)、Google Chrome、Opera、Mozilla Firefox、Apple Safari、等瀏覽器。

Selenium 官網(wǎng):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參數(shù)來指定

# 格式:
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、創(chuàng)建實例項目

打開PyCharm編輯器,根據(jù)如下圖所示創(chuàng)建自動化測試項目實例。
Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

2、編寫實例代碼

項目創(chuàng)建完成后,新建一個python測試文件,用于編寫測試代碼,具體步驟:在左側項目AutoTest文件夾上,鼠標點擊右鍵 -> new 新建 -> python文件,輸入文件名為test.py,操作實例如下圖所示:
Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解
test.py文件內(nèi)容如下

# -*- 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(要測試的網(wǎng)址)
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自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

(2)、在Dos命令行工具中運行代碼

進入要運行代碼的目錄,按住Shift鍵不放,鼠標在空白處右擊 -> 在此處打開PowerShell命令窗口(S),輸入python test.py 回車便啟動運行啦!

python test.py
# 或
py test.py

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

命令執(zhí)行后會自動打開瀏覽器,并跳轉到測試實例代碼中指定的網(wǎng)址,實例效果如下:

Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

(3)、從Git上 或者 是從其他地方復制過的代碼,在Pycharm中打開項目運行。

在Pycharm中打開項目后,在運行時可能報selenium不存在、找不到selenium模塊,selenium和webdriver上下有紅色波浪線,左下角也提示:unresolved reference ‘webdriver’,導致無法運行。

原因: 在Pycharm打開新打開 或 新建項目時,會自動設置(可也以指定)運行環(huán)境為虛擬環(huán)境。此如一來,即便是之前你在操作系統(tǒng)中安裝了selenium模塊,但是這個新打開 或 新建項目的venv虛擬環(huán)境中是沒有selenium 模塊,所以才會提示在Pycharm 找不到selenium模塊導致的這個錯誤。

**解決辦法:**就是在項目的venv虛擬環(huán)境目錄中安裝selenium
1、在Pycharm中打在命令行工具
2、進入venv虛擬環(huán)境目錄:cd venv
3、進入python虛擬環(huán)境:Scripts\activate
4、安裝selenium模塊包:pip install selenium
Python自動化測試 環(huán)境搭建 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")

# 最大化窗口(有時候執(zhí)行某些按扭、事件等無效時,就是沒有最大化瀏覽器窗口【不在可視區(qū)】導致的?。?/span>
driver.maximize_window()

# 最小化窗口
driver.minimize_window()

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

# 獲取當前瀏覽器窗口可視區(qū)寬高
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輸入框文本內(nèi)容
username.sendKeys('root')

# 獲取username輸入框文本內(nèi)容
username.getText()

# 清空username輸入框文本內(nèi)容
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的方法時,并不是立即執(zhí)行的,而是把所有的操作,按順序存放在一個隊列里,當調用perform()方法時,隊列中的事件會依次執(zhí)行。

# 引入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類)

在自動化測試開發(fā)過程中,除了模擬鼠標操作以外,有時還需要借助模擬鍵盤操作一起來配合使用,Selenium的Keys類供了很多復制、粘貼、全選,以及觸發(fā)回車鍵、刪除鍵甚至組合式快捷鍵等。

(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()方法一起模擬鍵盤操作文章來源地址http://www.zghlxwxcb.cn/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自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Python+Selenium3+Chrome自動化測試環(huán)境搭建

    寫在最前面,因為各種原因,搭建該環(huán)境方法多種多樣。在本教程中,展示環(huán)境搭建的詳細步驟。在不同軟硬件環(huán)境下安裝報錯,可找出原因,百度排錯。 本博客的具體操作視頻請移步B站: https://www.bilibili.com/video/BV1oe4y1w7yr/?spm_id_from=333.999.list.card_archive.clickvd_source=585bb8c205

    2024年02月02日
    瀏覽(35)
  • web自動化測試框架落地實施全過程-測試環(huán)境搭建 (Selenium+Python)

    web自動化測試框架落地實施全過程-測試環(huán)境搭建 (Selenium+Python)

    Web自動化測試是指使用自動化工具模擬用戶在Web瀏覽器中執(zhí)行的操作,通過編寫腳本來自動化執(zhí)行測試用例,以驗證Web應用程序的功能、性能和兼容性等方面的質量。其主要目的是降低測試成本和時間,并提高測試效率和準確性。 Web自動化測試通常包括以下步驟: 確定測試

    2024年02月09日
    瀏覽(20)
  • Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

    Python自動化測試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

    基本于Python語言 和 Selenium框架,使用PyCharm 開發(fā)環(huán)境,詳細介紹自動化測試環(huán)境的搭建 以及 基本的使用方法。 Python環(huán)境目前已被大部分主流操作系統(tǒng)所支持,比如在Linux、Mac、Unix等系統(tǒng)上就自帶了Python環(huán)境,但在Windows系統(tǒng)上目前還需要自己安裝,(當然如已經(jīng)安裝過了的話

    2024年02月03日
    瀏覽(22)
  • selenium 自動化測試—如何搭建自動化測試環(huán)境?

    selenium 自動化測試—如何搭建自動化測試環(huán)境?

    ?? 視頻學習: 文末有免費的配套視頻可觀看 ?? 點擊文末小卡片 ,免費獲取軟件測試全套資料,資料在手,漲薪更快 最近也有很多人私下問我,selenium學習難嗎,基礎入門的學習內(nèi)容很多是3以前的版本資料,對于有基礎的人來說,3到4的差別雖然有,但是不足以影響自己,

    2024年02月19日
    瀏覽(33)
  • selenium 自動化測試:如何搭建自動化測試環(huán)境,搭建環(huán)境過程應該注意的問題

    selenium 自動化測試:如何搭建自動化測試環(huán)境,搭建環(huán)境過程應該注意的問題

    最近也有很多人私下問我,selenium學習難嗎,基礎入門的學習內(nèi)容很多是3以前的版本資料,對于有基礎的人來說,3到4的差別雖然有,但是不足以影響自己,但是對于沒有學過的人來說,通過資料再到自己寫的代碼,發(fā)現(xiàn)有些東西沒有,有些方法又不相同,導致腳本不能運行

    2024年02月10日
    瀏覽(24)
  • 【自動化測試】Java+Selenium自動化測試環(huán)境搭建

    【自動化測試】Java+Selenium自動化測試環(huán)境搭建

    本主要介紹以Java為基礎,搭建Selenium自動化測試環(huán)境,并且實現(xiàn)代碼編寫的過程。 1.Selenium介紹 Selenium 1.0 包含 core、IDE、RC、grid 四部分,selenium 2.0 則是在兩位大牛偶遇相互溝通決定把面向對象結構化(OOPP)和便于編寫代碼的各自思想予以整合后形成的新工具,也就是我們所

    2024年02月11日
    瀏覽(21)
  • 自動化測試-selenium環(huán)境搭建

    自動化測試-selenium環(huán)境搭建

    自動化是指使用軟件工具、腳本或程序來執(zhí)行一系列的任務、操作或流程,而無需人工干預或指導。 自動化測試:使用自動化工具和腳本來執(zhí)行測試用例,驗證軟件的正確性和穩(wěn)定性。自動化測試可以快速執(zhí)行,并可以重復執(zhí)行,以降低人工測試的成本和時間。常見的自動化

    2024年02月16日
    瀏覽(23)
  • selenium 自動化測試——環(huán)境搭建

    selenium 自動化測試——環(huán)境搭建

    安裝python,并且使用pip命令安裝 selenium 然后嘗試第一次使用selenium 完成一個簡單的測試自動化腳本 執(zhí)行過程中,你會發(fā)現(xiàn)執(zhí)行到第4行時會報錯,那是因為沒有下載對應的瀏覽器驅動, 下載對應的驅動,我的是chrome瀏覽器,查看版本 然后找到對應的webdriver文件下載,完成后

    2024年02月10日
    瀏覽(30)
  • Selenium1:搭建自動化測試環(huán)境

    Selenium1:搭建自動化測試環(huán)境

    Selenium IDE/我的第一個web自動化程序 2020/4/28 周二 64-66 官網(wǎng):https://www.selenium.dev/ 分三塊: Selenium IDE,是Firefox的擴展插件,支持用戶錄制和回放測試 Selenium WebDriver,提供了各種語言環(huán)境的API來支持更多控制權和編寫符合標準軟件開發(fā)實踐的應用程序。 SeleniumGrid,分布式自動化

    2024年02月03日
    瀏覽(46)
  • UI自動化測試篇 :Selenium2(Webdriver)&TestNG自動化測試環(huán)境搭建

    UI自動化測試篇 :Selenium2(Webdriver)&TestNG自動化測試環(huán)境搭建

    ??? 交流討論: 歡迎加入我們一起學習! ?? 資源分享 : 耗時200+小時精選的「軟件測試」資料包 ??? 教程推薦: 火遍全網(wǎng)的《軟件測試》教程?? ?? 歡迎點贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正! ?? 最開始學習UI自動化,用的工具是QTP10,用起來確實比較容易上手

    2024年03月10日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包