Python selenium键盘鼠标事件实现过程详解
引言
----在实际的web测试工作中,需要配合键盘按键来操作,webdriver的keys()类提供键盘上所有按键的操作,还可以模拟组合键Ctrl+a,Ctrl+v等。
举例:
#cording=gbk importos importtime fromseleniumimportwebdriver fromselenium.webdriver.common.byimportBy#导入by方法 fromselenium.webdriver.common.action_chainsimportActionChains##对鼠标事件操作 fromselenium.webdriver.common.keysimportKeys#对键盘事件操作 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=gbk importos fromseleniumimportwebdriver fromselenium.webdriver.common.byimportBy#导入by方法 fromselenium.webdriver.common.action_chainsimportActionChains##对鼠标事件操作 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。