java-selenium-java鼠标键盘操作Actions类和Robot
Actions类
一、鼠标右击、双击
Java代码
//定位百度首页右上角 新闻
WebElement Xw=driver.findElement(By.xpath("//*[@id='u1']/a[1]"));
//new Actions对象
Actions RightClick=new Actions(driver);
//在 新闻 上点击鼠标右键
RightClick.contextClick(Xw).perform();
Thread.sleep(3000);
//双击 新闻
RightClick.doubleClick(Xw).perform();
Thread.sleep(3000);
二、鼠标移动到指定位置
java代码
//定位百度首页右侧 更多产品
WebElement gdcp=driver.findElement(By.xpath("//*[text()='更多产品']"));
//实例化Actions
Actions MTE=new Actions(driver);
//鼠标移动到 更多产品上
MTE.moveToElement(gdcp).perform();
//等待3秒
Thread.sleep(3000);
三、拖动元素
java代码
//定位要拖动的元素
WebElement dg=driver.findElement(By.xpath("//*[text()='拖动']"));
//实例化Actions
Actions tuodong=new Actions(driver);
Thread.sleep(1000);
//将定位的dg拖动(100,300)
tuodong.dragAndDropBy(dg,100,300).perform();
Thread.sleep(2000);
四、将元素拖到另一元素上
java代码
//定位要拖动的元素
WebElement ElementStart=driver.findElement(By.xpath("//*[text()='拖动']"));
//定位终点上的元素
WebElement ElementEnd=driver.findElement(By.xpath("//*[text()='tuodongduodong']"));
//实例化Actions
Actions CM=new Actions(driver);
CM.clickAndHold(ElementStart)
.moveToElement(ElementEnd)
.release(ElementEnd)
.perform();
五、下拉框多选
HTML源码
<td>多选下拉框</td>
<select id="selects" multiple="multiple">
<option label="java">java</option>
<option label="c">c</option>
<option label="c++">c++</option>
<option label="VB">VB</option>
<option label="php">php</option>
<option label="python">python</option>
<option label="ruby">ruby</option>
</select>
Java代码
//获取下拉框中所有的文本元素
List<WebElement> list=driver.findElements(By.xpath("//*[@id='selects']/option"));
//实例化Actions
Actions AtList=new Actions(driver);
//按下CONTROL键
AtList.keyDown(Keys.CONTROL)
//点击第一个元素,第一个元素是被默认选中的,所以不想选择第一个就再点一下
.click(list.get(0))
//点击第二个元素
.click(list.get(2))
//点击第四个元素
.click(list.get(3))
//释放CONTROL键
.keyUp(Keys.CONTROL)
//执行
.perform();
Robot类
按下按键 keyPress()
释放按键 keyRelease()
public void Robot() throws AWTException{
driver.get("https://www.baidu.com/");
//实例化Robot
Robot rb=new Robot();
//按下CONTROL键
rb.keyPress(KeyEvent.VK_CONTROL);
//按下s键
rb.keyPress(KeyEvent.VK_S);
Thread.sleep(1000);
//松开s键
rb.keyRelease(KeyEvent.VK_S);
//松开CONTROL键
rb.keyRelease(KeyEvent.VK_CONTROL); }
java-selenium-java鼠标键盘操作Actions类和Robot的更多相关文章
- selenium模拟鼠标键盘操作
简单操作: 1.点击(鼠标左键)页面按钮:click() 2.清空输入框:clear() 3.输入字符串:send_keys()submit提交表单: 1.一般情况可以点击搜索按钮来搜索 2.也可以用 ...
- Java+selenium之WebDriver模拟鼠标键盘操作(六)
org.openqa.selenium.interactions.Actions类,主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作.对于这些操作,使用 perform()方法进行执行 ...
- Java&Selenium 模拟鼠标方法封装
Java&Selenium 模拟鼠标方法封装 package util; import org.openqa.selenium.By; import org.openqa.selenium.W ...
- java selenium webdriver处理JS操作窗口滚动条
未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...
- Python+Selenium自动化-模拟键盘操作
Python+Selenium自动化-模拟键盘操作 0.导入键盘类Keys() selenium中的Keys()类提供了大部分的键盘操作方法:通过send_keys()方法来模拟键盘上的按键. # ...
- selenium webdriver(4)---模拟鼠标键盘操作
webdriver提供Actions来模拟鼠标悬浮.拖拽和键盘输入等操作,详细代码见org.openqa.selenium.interactions.Actions.本文通过几个实例来说明Action ...
- WebDriver API——鼠标及键盘操作Actions
在自动化中我们可能需要用到鼠标或者是键盘操作,在webdriver中是Actions类进行这些操作的. 代码如下: Actions action = new Actions(driver); //-- ...
- python selenium鼠标键盘操作(ActionChains)
用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件--ActionChains sele ...
- selenium之 玩转鼠标键盘操作(ActionChains)
用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件——ActionChains sele ...
随机推荐
- 快速乘(O(1))
inline long long multi(long long x,long long y,long long mod) { long long tmp=(x*y-(long long)((long ...
- Linux下MySQL报Table 'xxx' doesn't exist错误解决方法,表名存在大小写区分
Linux服务器上在线装了个MySQL,但是部署web应用时一直报后台一直报错:Table 'xxx' doesn't exist. 本地测试一直都是正常的,同样的代码,同样的数据库,表是存在的,但是 ...
- 学号 20175329 《Java程序设计》第10周学习总结
20175329 <Java程序设计>第十周学习总结 教材学习内容总结 线程与进程 进程时程序的一次动态执行过程.线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程. J ...
- @configuration和@component之间的区别
@configuration和@component之间的区别是:@Component注解的范围最广,所有类都可以注解,但是@Configuration注解一般注解在这样的类上:这个类里面有@Value ...
- R语言中的Single link和Complete link
下图表示A.B.C.D.E各点相互之间的距离 一.Single link结果: 1.找A.B.C.D.E各点之间距离最短的 A和B为4,即AB连在一起(之后把它俩看成一个整体): 2.找除(第一步)以 ...
- Anaconda 改为国内镜像的方法
Anaconda的conda 特别好用 但如果用国外的镜像,慢的出奇 可以改为了国内镜像会好很多 conda config --add channels https://mirrors.tuna.ts ...
- __linux__、__POSIX__宏
__linux__用于定义linux,__POSIX__不太了解,各系统的宏有如下: std::string getOsName() { #ifdef _WIN32 return "Wind ...
- 阶段3 3.SpringMVC·_07.SSM整合案例_01.ssm整合说明
Spring去整合另外的两个框架
- rocketmq的windows版客户端的启动步骤
一.下载RocketMQ首先,我们去下载RocketMQ,RocketMQ 是一个开源的东西,可以去github上面下载,地址是:https://github.com/alibaba/RocketMQ ...
- Block代码块中使用局部变量注意点
第一次写代码遇到报这个错,实在是想不通为什么,按常理应该是不会有问题,报错的呀??纠结了一会之后只好仔细查看报错原因咯,原来是: 当我们在block代码块中使用局部变量时,就会很容易出现如图的错误. ...