Python selenium鍵盤鼠標事件實現過程詳解
引言
----在實際的web測試工作中,需要配合鍵盤按鍵來操作,webdriver的 keys()類提供鍵盤上所有按鍵的操作,還可以模擬組合鍵Ctrl+a,Ctrl+v等。
舉例:
#cording=gbkimport osimport timefrom selenium import webdriverfrom selenium.webdriver.common.by import By #導入by方法from selenium.webdriver.common.action_chains import ActionChains ##對鼠標事件操作from selenium.webdriver.common.keys import Keys # 對鍵盤事件操作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 全選輸入框里的內容driver.find_element_by_id(’kw’).send_keys(Keys.CONTROL, ’a’)time.sleep(3)# 4.ctrl+x 剪切輸入框里的內容driver.find_element_by_id(’kw’).send_keys(Keys.CONTROL, ’x’)time.sleep(3)# 5. ctrl+v 粘貼剪切的內容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)
在實際的web產品測試中,對于鼠標的操作,不單單只有click(),有時候還要用到右擊、雙擊、拖動等操作,這些操作包含在ActionChains類中。
ActionChains類中鼠標操作常用方法:
context_click() :右擊 double_click() :雙擊 drag_and_drop() :拖動 move_to_element() :鼠標移動到一個元素上舉例:
#cording=gbkimport osfrom selenium import webdriverfrom selenium.webdriver.common.by import By #導入by方法from selenium.webdriver.common.action_chains import ActionChains ##對鼠標事件操作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) #創建一個鼠標對象# 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() #執行鼠標右擊,.perform() 表示執行element2=driver.find_element(By.XPATH,'//button[@type=’button’ and @class=’btn’ ]') #多屬性定位mouse.move_to_element(element2).perform() #移動到這個元素上#對元素進行截圖driver.find_element(By.XPATH,'//button[@id=’submit’][@type=’submit’]').screensh
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
1. 基于python計算滾動方差(標準差)talib和pd.rolling函數差異詳解2. Nodejs 連接 mysql時報Error: Cannot enqueue Query after fatal error錯誤的處理辦法3. java中Servlet監聽器的工作原理及示例詳解4. python檢查目錄文件權限并修改目錄文件權限的操作5. css進階學習 選擇符6. 解決python腳本中error: unrecognized arguments: True錯誤7. ASP基礎知識Command對象講解8. Ajax對xml信息的接收和處理操作實例分析9. JSP實現文件上傳功能10. java不解壓直接讀取壓縮包中文件的實現方法
