Selenium Webdriver——AutoIt和robot实现右键另存
方案如下:
1.selenium 弹出右键菜单
2.robot选择相关菜单
3.调用autoIt实现windows gui另存操作
test case 如下:
1.打开百度(谷歌浏览器)
2.选择百度图片,右键另存为
3.在弹出另存为窗口输入指定路径,单击保存

robot,模拟键盘操作,使用方向键 ↓
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_DOWN); Thread.sleep(1000); robot.keyPress(KeyEvent.VK_DOWN); Thread.sleep(1000); robot.keyPress(KeyEvent.VK_ENTER);
autoIt处理另存为窗口


定位保存按钮,使用ControlFocus方法,用于识别Window 窗口。
WinWait() 设置10 秒钟用于等待窗口的显示
定位编辑框(文件名)title是“另存为”,class是Edit ,instance 是1
使用ControlSetText方法输入保存路径,定位保存按钮,使用ControlClick方法单击保存按钮
;ControlFocus("title","text",controlID) Edit1=Edit instance 1
ControlFocus("另存为", "","Edit1")
; Wait 10 seconds for the Upload window to appear
WinWait("[CLASS:#32770]","",10)
Sleep(2000)
; Set the File name text on the Edit field
ControlSetText("另存为","", "Edit1", "D:\save_file.png")
Sleep(5000)
; Click on the Open button
ControlClick("另存为", "","Button1");
然后使用autoIt转换为EXE格式的可执行文件
使用java的runTime类调用
Runtime.getRuntime().exec("D:\\savePicture.exe");
全部代码如下(打开百度,右键保存百度图片)
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent; import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions; public class savepicture { public static void main(String[] args) throws InterruptedException, AWTException{
// TODO Auto-generated method stub
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com");
Actions actions=new Actions(driver);
WebElement baidupiuture =driver.findElement(By.xpath(".//*[@id='lg']/img"));
actions.moveToElement(baidupiuture).contextClick().build().perform(); Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_DOWN); Thread.sleep(1000); robot.keyPress(KeyEvent.VK_DOWN); Thread.sleep(1000); robot.keyPress(KeyEvent.VK_ENTER); Runtime rn = Runtime.getRuntime();
try{
String str = "D:\\savePicture.exe" ;
rn.exec(str); } catch (Exception e){
System.out.println("Error to run the exe");
}
Thread.sleep(10000);
driver.quit();
}
}
Selenium Webdriver——AutoIt和robot实现右键另存的更多相关文章
- selenium webdriver 右键另存为下载文件(结合robot and autoIt)
首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...
- Selenium WebDriver中一些鼠标和键盘事件的使用
转自:http://www.ithov.com/linux/133271.shtml 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击 ...
- Selenium WebDriver 中鼠标和键盘事件分析及扩展(转)
本文将总结 Selenium WebDriver 中的一些鼠标和键盘事件的使用,以及组合键的使用,并且将介绍 WebDriver 中没有实现的键盘事件(Keys 枚举中没有列举的按键)的扩展.举例说明 ...
- Selenium webdriver 开始
最早接触的selenium是 selenium IDE,当时是为了准备论文.为了用IDE还下载了Firefox浏览器.后来接触过两个项目都需要selenium,一个采用selenium webdirv ...
- 转:总结Selenium WebDriver中一些鼠标和键盘事件的使用
在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 W ...
- Selenium WebDriver 中鼠标和键盘事件分析及扩展[转载]
原文:http://www.ibm.com/developerworks/cn/java/j-lo-keyboard/ 概念 在使用 Selenium WebDriver 做自动化测试的时候,会经常模 ...
- selenium webdriver (python)的基本用法一
阅在线 AIP 文档:http://selenium.googlecode.com/git/docs/api/py/index.html目录一.selenium+python 环境搭建........ ...
- 总结Selenium WebDriver中一些鼠标和键盘事件的使用
在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 W ...
- Selenium WebDriver 中鼠标和键盘事件分析及扩展
[From] http://www.51testing.com/html/18/631118-861557.html 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和 ...
随机推荐
- Assert 类
Assert 类 使用 true/false 命题验证单元测试中的条件. 继承层次结构 System.Object Microsoft.VisualStudio.TestTools.Uni ...
- VirtualBox使用物理硬盘建立磁盘
VirtualBox,只能用命令行来 建立磁盘才可以使用物理硬盘. 1.运行cmd,cd进入你的VirtualBox目录,如: cd C:\Program Files\Sun\VirtualBox ...
- Java Web编程的主要组件技术——Hibernate核心组件
参考书籍:<J2EE开源编程精要15讲> Hibernate配置文件 1) hibernate.cfg.xml <?xml version='1.0' encoding='UTF-8 ...
- RabbitMq window下配置安装
1. 搭建环境 1.1 安装Erlang语言运行环境 由于RabbitMQ使用Erlang语言编写,所以先安装Erlang语言运行环境. 1.2 Erlang(['ə:læŋ])是一种通用的面向并发的 ...
- 前端常用框架和js插件 UI组件等
前言:写这个随笔,是记录一下工作以来用到的各种框架.以免日后忘记: JS库: 1. jquery.js 2. zepto.js ----jquery的精简版,专门用于手机上的,但是zepto主体默认是 ...
- [置顶]
Android 打包apk无敌报错
前言: 这个问题从昨天上午一直到现在,请教了很多大佬,都没有给出确定的解决方案,可能他们也没碰到过可能,不过还是挺感谢他们的建议,一直到今天中午午休,我一直都在想这个问题,就是下面的这个,看了国内很多 ...
- 让黑白的SecureCRT彩色起来
让黑白的SecureCRT彩色起来,如图仿真设置如下:
- python3 随机生成UserAgent
安装库 pip install fake_useragent #引入 from fake_useragent import UserAgent; ua = UserAgent(); print(ua. ...
- 【Python】matplotlib 双y轴绘制及合并图例
1.双y轴绘制 关键函数:twinx() 问题在于此时图例会有两个. # -*- coding: utf-8 -*- import numpy as np import matplotlib.pypl ...
- 在.NET中实现Actor模型的不同方式
上周,<实现领域驱动设计>(Implementing Domain-Driven Design)一书的作者Vaughn Vernon,发布了Dotsero,这是一个使用C#编写的.基于.N ...