鼠标操作事件
在实际的web产品测试中,对于鼠标的操作,不单单只有click(),有时候还要用到右击、双击、拖动等操作,这些操作包含在ActionChains类中。
ActionChains类中鼠标操作常用方法:
首先导入ActionChains类: from selenium.webdriver.common.action_chains import ActionChains
context_click():右击
double_click():双击
drag_and_drop():拖动
move_to_element():鼠标移动到一个元素上
click_and_hold():按下鼠标左键在一个元素上(长按)
常用的链条命令
pause():停留、click():点击、release():释放、perform():执行
ActionChains(driver).move_to_element(元素对象).pause(秒).click(元素对象).release(元素对象).perform()
代码如下:
import os from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains current_path = os.path.dirname(os.path.abspath(__file__)) # 当前路径 driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径 driver = webdriver.Chrome(executable_path=driver_path) # Firefox,Ie等 driver.get('https://www.baidu.com/') # 打开网站 # 右击操作 context_click() element_obj = driver.find_element(By.XPATH,'//input[@id="su"]') # 右击百度一下 mouse_obj = ActionChains(driver) mouse_obj.context_click(element_obj).perform() # perform执行操作 # 点击操作 click() element_obj = driver.find_element(By.XPATH,'//a[text()="hao123"]') mouse_obj = ActionChains(driver) mouse_obj.click(element_obj).release(element_obj).perform() # 点击hao123 # 长按操作 click_and_hold() element_obj = driver.find_element(By.XPATH,'//a[text()="hao123"]') mouse_obj = ActionChains(driver) mouse_obj.click_and_hold(element_obj).pause(10).release(element_obj).perform() #长按 hao123 10秒后松开 # 鼠标移动到一个元素 move_to_element() e1 = driver.find_element(By.XPATH,'//a[@name="tj_briicon"]') e2 = driver.find_element(By.XPATH,'//a[@name="tj_zhidao"]') mouse_obj = ActionChains(driver) mouse_obj.move_to_element(e1).pause(3).click(e2).release(e2).perform() # 链条命令 移动到 更多 元素上停顿3秒,然后点击 知道 元素
键盘操作事件
在实际的web测试工作中,需要配合键盘按键来操作,webdriver的keys()类提供键盘上所有按键的操作,还可以模拟组合键Ctrl_a,Ctrl+c/v等。
前置条件:导入Keys类
from selenium.webdriver.common.keys import Keys
页面上的键盘操作(从搜索框中按两下tab键)
driver.find_element(By.XPATH,'//input[@id="kw"]').click()
ActionChains(driver).send_keys(Keys.TAB).pause(1).send_keys(Keys.TAB).perform()
组合键操作 ctrl+a、ctrl+c、ctrl+v
driver.find_element(By.XPATH,'//input[@id="kw"]').send_keys('python')
ActionChains(driver).key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).perform()
备注:
1、在使用修饰键的时候需要key_down()和key_up()方法
修饰键包含ctrl、alt、shift
2、类似alt+F4 ctrl+alt+delete不能使用,这里的组合键只针对网页生效的
代码如下:
import os from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys current_path = os.path.dirname(os.path.abspath(__file__)) # 当前路径 driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径 driver = webdriver.Chrome(executable_path=driver_path) # Firefox,Ie等 driver.get('https://www.baidu.com/') # 打开网站 # 页面上的键盘操作 从搜索框中按两下tab键 driver.find_element(By.XPATH,'//input[@id="kw"]').click() ActionChains(driver).send_keys(Keys.TAB).pause(1).send_keys(Keys.TAB).perform() # 组合键操作 ctrl+a、ctrl+c、ctrl+v、shift+a # 修饰键 ctrl、alt、shift # ctrl+a ==> 按下ctrl、按下a、松开a、松开ctrl driver.find_element(By.XPATH,'//input[@id="kw"]').send_keys('python') ActionChains(driver).key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).perform() # 备注:系统级别的组合键不能使用,因为这里的组合键都是只针对网页生效的
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
猜你喜欢
- 17天前(a级景区评定机构)全国A级旅游景区创建与提升培训班在敦煌市举办
- 17天前(香港航空三亚航线复航了吗)香港航空三亚航线复航
- 17天前(万豪酒店 珠海)万豪酒店品牌启航珠海金湾,续写大湾区拓展新篇
- 17天前(夏日旅行海报)夏日旅行|精简行囊 向快乐进发
- 17天前(安徽民航君澜大饭店装饰设计招标)集东方文化气息,品徽派隽美风韵----安徽民航君澜大饭店静待绽放
- 17天前(四川推进世界重要旅游目的地建设工作)四川推进世界重要旅游目的地建设
- 17天前(云南滇陇工程咨询有限公司)陇滇携手谋发展 文旅合作谱新篇
- 17天前(071 圣安东尼奥)秋季 圣安东尼奥交出了私藏活动清单
- 17天前(“百场黄梅唱响百家景区”示范演出活动在黄山风景区举行)“百场黄梅唱响百家景区”示范演出活动在黄山风景区举行
- 17天前(内蒙古冬季旅游攻略)内蒙古冬日奇遇:携程租车带你策马踏雪
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章