Python selenium鍵盤鼠標(biāo)事件實(shí)現(xiàn)過程詳解
引言
----在實(shí)際的web測(cè)試工作中,需要配合鍵盤按鍵來操作,webdriver的 keys()類提供鍵盤上所有按鍵的操作,還可以模擬組合鍵Ctrl+a,Ctrl+v等。
舉例:
#cording=gbkimport osimport timefrom selenium import webdriverfrom selenium.webdriver.common.by import By #導(dǎo)入by方法from selenium.webdriver.common.action_chains import ActionChains ##對(duì)鼠標(biāo)事件操作from selenium.webdriver.common.keys import Keys # 對(duì)鍵盤事件操作current_path=os.path.dirname(__file__)firefox_path=current_path+'/../webdriver/geckodriver.exe'driver=webdriver.Firefox(executable_path=firefox_path)driver.get('http://www.baidu.com')# 先輸入百度driver.find_element_by_id(’kw’).send_keys(’百度’)time.sleep(3)# 1.刪除度driver.find_element_by_id(’kw’).send_keys(Keys.BACK_SPACE)time.sleep(3)#2.清空輸入框,重新輸入值driver.find_element_by_id(’kw’).clear()driver.find_element_by_id(’kw’).send_keys(’安琪兒’)time.sleep(5)# 3.ctrl+a 全選輸入框里的內(nèi)容driver.find_element_by_id(’kw’).send_keys(Keys.CONTROL, ’a’)time.sleep(3)# 4.ctrl+x 剪切輸入框里的內(nèi)容driver.find_element_by_id(’kw’).send_keys(Keys.CONTROL, ’x’)time.sleep(3)# 5. ctrl+v 粘貼剪切的內(nèi)容driver.find_element_by_id(’kw’).send_keys(Keys.CONTROL, ’v’)time.sleep(3)# 6. 回車driver.find_element_by_id(’su’).send_keys(Keys.ENTER)time.sleep(3)
在實(shí)際的web產(chǎn)品測(cè)試中,對(duì)于鼠標(biāo)的操作,不單單只有click(),有時(shí)候還要用到右擊、雙擊、拖動(dòng)等操作,這些操作包含在ActionChains類中。
ActionChains類中鼠標(biāo)操作常用方法:
context_click() :右擊 double_click() :雙擊 drag_and_drop() :拖動(dòng) move_to_element() :鼠標(biāo)移動(dòng)到一個(gè)元素上舉例:
#cording=gbkimport osfrom selenium import webdriverfrom selenium.webdriver.common.by import By #導(dǎo)入by方法from selenium.webdriver.common.action_chains import ActionChains ##對(duì)鼠標(biāo)事件操作current_path=os.path.dirname(__file__)firefox_path=current_path+'/../webdriver/geckodriver.exe'driver=webdriver.Firefox(executable_path=firefox_path)driver.get('http://127.0.0.1/zentao/user-login-L3plbnRhby9teS5odG1s.html')mouse=ActionChains(driver) #創(chuàng)建一個(gè)鼠標(biāo)對(duì)象# element1=driver.find_element(By.XPATH,'//img[@src=’/zentao/theme/default/images/main/zt-logo.png’]') #Xpath利用屬性定位element1=driver.find_element(By.XPATH,'//img[contains(@src,’images/main/zt-logo.png’)]') #xpath使用包含屬性方法定位mouse.context_click(element1).perform() #執(zhí)行鼠標(biāo)右擊,.perform() 表示執(zhí)行element2=driver.find_element(By.XPATH,'//button[@type=’button’ and @class=’btn’ ]') #多屬性定位mouse.move_to_element(element2).perform() #移動(dòng)到這個(gè)元素上#對(duì)元素進(jìn)行截圖driver.find_element(By.XPATH,'//button[@id=’submit’][@type=’submit’]').screensh
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. XML入門精解之結(jié)構(gòu)與語法2. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera3. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)4. 利用CSS3新特性創(chuàng)建透明邊框三角5. XML入門的常見問題(一)6. HTML5 Canvas繪制圖形從入門到精通7. 概述IE和SQL2k開發(fā)一個(gè)XML聊天程序8. HTML <!DOCTYPE> 標(biāo)簽9. HTML DOM setInterval和clearInterval方法案例詳解10. XML入門的常見問題(二)
