selenium webDriver 鼠标操作

之前网上查资料都是 action2.click();  经测试不行的。最后发现action2.click().perform(); 才有效。至于为什么目前还不清楚,但至少会用了。现在就把我的代码copy过来:

代码示例:

//只有对象是visible时才可以操作,所以要等待状态变为visible

WebElement mC = driver.findElement(By.xpath("//div[contains(text(),‘产品详情‘)]/../../div/img" ));

int j = 0;

while (!mC.isDisplayed() && j <5){

driver.manage().window().maximize();

Thread.sleep(1000);

j = j + 1;

System.out.println(j + ":对象不可见。");

}

System.out.println("最后对象为:"+mC.isDisplayed());

//执行这条需要导入对应的包,请根据错误提示而添加

Actions action = new Actions(driver);

//鼠标左键点击对象

action.click(mC).perform();

//鼠标右键点击对象

action.contextClick().click(driver.findElement(By.xpath("//div[contains(text(),‘产品详情‘)]/../../div/img"))).perform();

Thread.sleep(1000);

Actions action2 = new Actions(driver);

//将鼠标移到 toElement 元素中点

action2.moveToElement(mC);

//将鼠标移到元素 toElement 的 (xOffset, yOffset) 位置,相对元素的坐标

action2.moveToElement(mC,1,1);

//以鼠标当前位置或者 (0,0) 为中心开始移动到 (xOffset, yOffset) 坐标轴

action2.moveByOffset(1,1);

Thread.sleep(2000);

action2.click().perform();

其它情况参考相关文档:

1、鼠标右键点击操作:

Actions action = new Actions(driver) ;

action.contextClick(driver.findElement(By.xpath(xpath)));

2、鼠标左键双击操作:

Actions action = newActions(driver) ;

action.doubleClick(driver.findElement(By.xpath(xpath)));

3、鼠标左键按下操作:

Actions action = newActions(driver) ;

action.clickAndHold(driver.findElement(By.xpath(xpath)));

4、鼠标左键抬起操作:

Actions action = new Actions(driver);

action.release(driver.findElement(By.xpath(xpath)));

5、鼠标移动到元素上操作:

Actions action = new Actions(driver);

action.moveToElement(driver.findElement(By.xpath(xpath)));

6、组合的鼠标操作(将目标元素拖拽到指定的元素上):

Actions action = new Actions(driver);

action.dragAndDrop(driver.findElement(By.xpath(xpath)),driver.findElement(By.xpath(xpath)));

7、组合的鼠标操作(将目标元素拖拽到指定的区域里):

Actions action = new Actions(driver);

action.dragAndDrop(driver.findElement(By.xpath(xpath)),xOffset,yOffset);

8、键盘的按下操作:

Actions action = newActions(driver) ;

action.keyDown(driver.findElement(getBy()),key) ;注:key为一个Keys的实例,实例化一个F1的按键则为Keys.F1

9、按钮松开操作:

Actions action = new Actions(driver);

action.keyUp(driver.findElement(getBy()),key)

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-02 01:56:17

selenium webDriver 鼠标操作的相关文章

selenium webdriver frame操作,跳进跳出

如果有两个平级的frame,跳进一个以后操作完成再操作第二个,这种情况要先跳出来,再跳进另外一个frame 跳出语句:browser.switch_to_default_content() #coding:utf-8 from selenium import webdriver import time url='http://*******' browser = webdriver.Chrome() browser.get(url) browser.maximize_window() name=

selenium webdriver 浏览器操作,编码问题,鼠标操作,键盘按键操作,显示和隐式等待

'''size 返回元素的尺寸text 获取元素的文本,测试用例中的断言<a id='cp'>文本信息</a>t_attribute(name) 获取元素属性值is_displayed() 设置该元素是否用户可见''' from selenium import webdriverdriver=webdriver.Firefox()driver.get("https://www.baidu.com") #获取输入框的尺寸size=driver.find_eleme

selenium的鼠标操作

from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome()driver.get('http://www.baidu.com')driver.implicitly_wait(10)''' 鼠标悬停 mouse = driver.find_element_by_link_text('设置')ActionChains(d

python+selenium模拟鼠标操作

from selenium.webdriver.common.action_chains import ActionChains #导入鼠标相关的包 -------------------------------------------------------------------------------------------- submit = driver.find_element_by_id('kw')                  #首先创建对象 ActionChains(dri

selenium - webdriver - cookie操作

WebDriver提供了操作Cookie的相关方法,可以读取.添加和删除cookie信息. WebDriver操作cookie的方法: get_cookies(): 获得所有cookie信息. get_cookie(name): 返回字典的key为"name"的cookie信息. add_cookie(cookie_dict) : 添加cookie."cookie_dict"指字典对象,必须有name 和value 值. delete_cookie(name,opt

selenium webdriver python 操作浏览器

新建driver driver=webdriver.Firefox() driver=webdriver.Ie() driver=webdriver.Chrome() 改变浏览器 将浏览器最大化 driver.maximize_window() 设置浏览器大小 driver.set_window_size(480,800) 浏览器前进.后退 driver.forward() driver.back() 设置浏览器位置 driver. set_window_position(0,0) 关闭浏览器

selenium webdriver如何操作单选按钮

(网站转载)

selenium webdriver如何操作多选按钮

(网站转载)

【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!

一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博文 二.Selenium第一篇博文地址: [Selenium01篇]python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作! 三.Selenium之鼠标操作和键盘操作 1.鼠标事件 在webdriver中,鼠标操作的方法封装在 ActionChai