Selenium自動化測試 頁面的常見操作(九)

2021-10-08 11:11:35 字數 3543 閱讀 7681

三,操作滑鼠事件的api,首先要知道關於滑鼠操作的方法封裝在actionchains類提供,那麼要先導入這個類

特別說明的是大家可以發現,每個滑鼠動作後面都有個perform(),這個的意思是:執行actionchains類中儲存的所有動作,也可以理解為對動作的提交,也就是說真正的執行該動作。

from selenium import webdriver

from selenium.webdriver.common.action_chains import actionchains

driver = webdriver.chrome()

driver.get("")

el_input = driver.find_element_by_id("kw")

el_shezhi = driver.find_element_by_name("tj_settingicon")

el_input.send_keys("selenium")

el_btn = driver.find_element_by_id("su")

#滑鼠單擊

actionchains(driver).click(el_btn).perform()

#右擊actionchains(driver).context_click(el_btn).perform()

#雙擊actionchains(driver).double_click(el_btn).perform()

#拖動actionchains(driver).drag_and_drop(el_btn).perform()

#滑鼠懸停

actionchains(driver).move_to_element(el_shezhi).perform()

四,鍵盤操作事件,鍵盤上辣麼多的鍵,怎麼操作了,請看**,有三種方式實現

(1)通過keys類實現,引入包:from selenium.webdriver.common.keys import keys

from selenium import webdriver

from selenium.webdriver.common.keys import keys

driver = webdriver.chrome()

driver.get("")

el_input = driver.find_element_by_id("kw")

el_input.send_keys("fsafsaf")

#刪除鍵(backspace)

el_input.send_keys(keys.back_space)

#空格鍵(space)

el_input.send_keys(keys.space)

#製表鍵(tab)

el_input.send_keys(keys.tab)

#回退鍵(esc)

el_input.send_keys(keys.escape)

#回車鍵(enter)

el_input.send_keys(keys.enter)

#全選(ctrl+a)

el_input.send_keys(keys.control,'a')

#複製(ctrl+c)

el_input.send_keys(keys.control,'c')

#剪下(ctrl+x)

el_input.send_keys(keys.control,'x')

#貼上(ctrl+v)

el_input.send_keys(keys.control,'v')

#鍵盤 f1

el_input.send_keys(keys.f1)

#鍵盤 f12

el_input.send_keys(keys.f12)

(2)通過key_down()(按下鍵盤),send_keys,key_up()(釋放鍵盤)

from selenium import webdriver

from selenium.webdriver.common.keys import keys

from selenium.webdriver.common.action_chains import actionchains

driver = webdriver.chrome()

driver.get("")

el_input = driver.find_element_by_id("kw")

el_input.send_keys("selenium")

#全選actionchains(driver).key_down(keys.control).send_keys('a').key_up(keys.control).perform()

#剪下actionchains(driver).key_down(keys.control).send_keys('x').key_up(keys.control).perform()

driver.get("")

el_input = driver.find_element_by_id("kw").click()

#貼上actionchains(driver).key_down(keys.control).send_keys('v').key_up(keys.control).perform()

3.通過第三方的模組來實現,需要安裝pywin32模組:pip install pywin32

import win32api

import win32con

class keyboardkeys(object):

#模擬鍵盤按鍵類

vk_code=

@staticmethod

def keydown(keyname):

#按下按鍵

win32api.keybd_event(keyboardkeys.vk_code[keyname],0,0,0)

@staticmethod

def keyup(keyname):

#釋放按鍵

win32api.keybd_event(keyboardkeys.vk_code[keyname],0,win32con.keyeventf_keyup,0)

@staticmethod

def onekey(key):

#模擬單個按鍵

keyboardkeys.keydown(key)

keyboardkeys.keyup(key)

@staticmethod

def twokeys(key1,key2):

#模擬兩個組合鍵

keyboardkeys.keydown(key1)

keyboardkeys.keydown(key2)

keyboardkeys.keyup(key2)

keyboardkeys.keyup(key1)

selenium 自動化測試。

第一步安裝 谷歌瀏覽器。第三步編寫測試測試指令碼 第四步 安裝selemium coding utf 8 引入webdriver和unittest所需要的包 from selenium import webdriver from selenium.webdriver.common.by import...

Python自動化測試 Selenium

第乙個selenium就。先show from selenium import webdriver driver webdriver.firefox driver.get assert oxcoder decode utf 8 in driver.title print driver.title d...

自動化測試selenium(四)

三 用例的執行順序 四 unittest斷言 unittest 各元件的關係為 test fixture 初始化和清理測試環境,比如建立臨時的資料庫,檔案和目錄等,其中 setup 和 setdown 是最常用的方法 test case 單元測試用例,testcase 是編寫單元測試用例最常用的類 ...