程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【Python自動化測試31】Web自動化之鼠標鍵盤操作、select用法

編輯:Python

文章目錄

  • 一、前言
  • 二、鼠標操作
  • 三、鍵盤操作
  • 四、select用法

一、前言

本文章主要會講解selenium中鼠標與鍵盤的操作、select用法以及js簡易講解,除此之外下方有系列文章的傳送門,還在持續更新中,感興趣的小伙伴也可以前往查看,話不多說,讓我們一起看看吧~

系列文章:
系列文章1:【Python自動化測試1】遇見Python之美
系列文章2:【Python自動化測試2】Python安裝配置及PyCharm基本使用
系列文章3:【Python自動化測試3】初識數據類型與基礎語法
系列文章4:【Python自動化測試4】字符串知識總結
系列文章5:【Python自動化測試5】列表與元組知識總結
系列文章6:【Python自動化測試6】字典與集合知識總結
系列文章7:【Python自動化測試7】數據運算符知識合集
系列文章8:【Python自動化測試8】流程控制語句講解
系列文章9:【Python自動化測試9】函數知識合集
系列文章10:【Python自動化測試10】文件基礎操作
系列文章11:【Python自動化測試11】模塊、包與路徑知識合集
系列文章12:【Python自動化測試12】異常處理機制知識合集
系列文章13:【Python自動化測試13】類、對象、屬性與方法知識合集
系列文章14:【Python自動化測試14】Python自動化測試基礎與進階練習題
系列文章15:【Python自動化測試15】unittest測試框架的核心概念與作用
系列文章16:【Python自動化測試16】測試用例數據分離
系列文章17:【Python自動化測試17】openpyxl二次封裝與數據驅動
系列文章18:【Python自動化測試18】配置文件解析與實際應用
系列文章19:【Python自動化測試19】日志系統logging講解
系列文章20:【Python自動化測試20】接口自動化測試框架模型搭建
系列文章21:【Python自動化測試21】接口自動化測試實戰一_接口概念、項目簡介及測試流程問答
系列文章22:【Python自動化測試22】接口自動化測試實戰二_接口框架修改及用例優化
系列文章23:【Python自動化測試23】接口自動化測試實戰三_動態參數化與數據偽造
系列文章24:【Python自動化測試24】接口自動化測試實戰四_Python操作數據庫
系列文章25:【Python自動化測試25】接口自動化測試實戰五_數據庫斷言、接口關聯及相關管理優化
系列文章26:【Python自動化測試26】接口自動化測試實戰六_pytest框架+allure講解
系列文章27:【Python自動化測試27】Web自動化測試理論、環境搭建及常見操作
系列文章28:【Python自動化測試28】html基礎語法
系列文章29:【Python自動化測試29】Xpath、軸運算及CSS元素定位詳解
系列文章30:【Python自動化測試30】Web自動化之三大等待與三大切換

二、鼠標操作

Web自動化中我們可以通過代碼控制來進行鼠標操作,鼠標操作有很多種操作,例如單擊、雙擊、按住不松、懸停,拖拽等等,讓我們簡單來認識下常見的鼠標操作:

from selenium.webdriver.common.action_chains import ActionChains
def click(driver, locator):
"""鼠標左鍵單擊操作"""
el = driver.find_element(*locator)
el.click()
def double_click(driver, locator):
"""鼠標左鍵雙擊操作"""
el = driver.find_element(*locator)
action = ActionChains(driver)
action.double_click(el).perform()
def context_click(driver, locator):
"""鼠標右鍵單擊操作"""
el = driver.find_element(*locator)
action = ActionChains(driver)
action.context_click(el).perform()
def move_to(driver, locator):
"""鼠標懸停操作"""
el = driver.find_element(*locator)
action = ActionChains(driver)
action.move_to_element(el).perform()
def drag_and_drop(driver, locator_start, Locator_end):
"""鼠標拖拽操作,起始位置拖拽至目標位置"""
start_el = driver.find_element(*locator_start)
end_el = driver.find_element(*Locator_end)
action = ActionChains(driver)
action.move_to_element(start_el, end_el).perform()

三、鍵盤操作

鍵盤操作,常見的Web自動化中的鍵盤操作是輸入文本、調用回車以及空格以及一些復制操作:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
time.sleep(2)
# 文本輸入框中輸入CSDN
driver.find_element_by_id("kw").send_keys("CSDN")
# 調用空格
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
# 文本輸入框中輸入干飯人
driver.find_element_by_id("kw").send_keys('干飯人')
# 全選
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'a')
# 復制
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'c')
# 粘貼
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'v')
# 調用回車
driver.find_element_by_id("kw").send_keys(Keys.ENTER)
time.sleep(5)
driver.close()

四、select用法

有些時候的下拉列表是select對象,我們就需要使用select方式進行定位:

from selenium.webdriver.support.select import Select
from selenium import webdriver
driver = webdriver.Chrome()
select_el = driver.find_element("xpath", "value")
# 初始化Select
s = Select(select_el)
# 通過option選項當中的value屬性選擇選項
s.select_by_value("最近一周")
# 通過索引
s.select_by_index(0)
# 通過文本
s.select_by_visible_text("最近一周")


好啦~以上就是本次文章分享的全部內容啦,你學會了嗎?希望能給大家帶來幫助哦!



  1. 上一篇文章:
  2. 下一篇文章:
相關文章
    没有相关文章
Copyright © 程式師世界 All Rights Reserved