使用selenium实现右键另存为保存文件
1.需要借住autoit工具和Robot类,下载地址:https://www.autoitscript.com/site/autoit/downloads/
2.autoit的使用不再详细讲解。如下图:
3.识别到保存窗口后,用autoit编辑器编写脚本
- ControlFocus("保存图片", "","Edit1")
- ;ControlFocus("title","text",controlID) Edit1=Edit instance 1
- WinWait("[CLASS:#32770]","",10)
- ControlSetText("保存图片", "", "Edit1", "d:\autoit-v3-setup1.png")
- Sleep(2000)
- ControlClick("保存图片", "","Button1");
保存为au3文件,再用D:\autoit3\Aut2Exe\Aut2exe转为为exe,在java程序中调用
4.代码如下
- package com.gmsd;
- 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.ie.InternetExplorerDriver;
- import org.openqa.selenium.interactions.Actions;
- import org.testng.annotations.Test;
- /**
- * @author QiaoJiaofei
- * @version 创建时间:2015年7月1日 下午5:00:31
- * 类说明
- */
- public class Testyanzm {
- WebDriver dr = null;
- @Test
- public void testf() throws AWTException, InterruptedException {
- System.setProperty("webdriver.ie.driver", "D:/BaiduYunDownload/selenium/IEDriverServer.exe");
- dr = new InternetExplorerDriver();
- dr.manage().window().maximize();
- dr.get("http://172.16.30.209:5555/register.shtml");
- Actions action = new Actions(dr);
- action.contextClick();// 鼠标右键在当前停留的位置做单击操作
- action.contextClick(dr.findElement(By.id("codeimg"))).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_DOWN);
- Thread.sleep(1000);
- robot.keyPress(KeyEvent.VK_DOWN);
- Thread.sleep(1000);
- robot.keyPress(KeyEvent.VK_DOWN);
- Thread.sleep(1000);
- robot.keyPress(KeyEvent.VK_DOWN);
- Thread.sleep(1000);
- robot.keyPress(KeyEvent.VK_DOWN);
- Thread.sleep(1000);
- robot.keyRelease(KeyEvent.VK_DOWN);
- Thread.sleep(1000);
- robot.keyPress(KeyEvent.VK_ENTER);
- Thread.sleep(5000);
- Runtime rn = Runtime.getRuntime();
- Process p = null;
- try {
- p = rn.exec("\"D:/autoitexe/rightsave.exe\"");
- } catch (Exception e) {
- System.out.println("Error exec!");
- }
- }
- }
使用selenium实现右键另存为保存文件的更多相关文章
- selenium webdriver 右键另存为下载文件(结合robot and autoIt)
首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...
- webdriver高级应用- 右键另存为下载文件
1.要使用右键另存,需要先按照第三方工具AutoIt: 链接: https://pan.baidu.com/s/12aBBhOOTmyQpH9hukt0XGA 密码: fcdk 2.创建一个名为loa ...
- python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为
0.关键实现:程序窗口前置 python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过pyauto实现右键菜单和另存为操作 1.参考 aut ...
- Win 7 IE11不能下载文件,右键另存为也不行
在IE11中不能下载文件,右键另存为也无效. 发现 在IE11中点击“INTERNET选项”后,IE临时文件夹的地址没有显示,大小为0,修改只能让设置在8-8MB,注销再登录后,一切设置无效. 问题就 ...
- Selenium实现右键保存图片(Java)
1.代码 public class SaveImage extends TestCase { private WebDriver driver; private Actions action; pri ...
- windows下右键新建md文件
windows下右键新建md文件 打开注册表 win键+R打开运行对话框, 输入regedit, 打开注册表编辑器. 修改注册表 在磁盘的任意位置新建一个文件, 后缀名为reg, 并写入一下内容 [H ...
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...
- Js 直接下载保存文件
//直接下载保存文件 function Download(filePath) { // 如果中间IFRAME不存在,则添加 if (!document.getElementById("_SA ...
- C#中saveFileDialog(另存为)保存图片文件
弹出另存为提示框保存图片文件: //用户自由选择指定路径保存文件 SaveFileDialog savedialog = new SaveFileDialog(); ...
随机推荐
- Hadoop Pipes Exception: Illegal text protocol command
Hadoop Pipes Exception: Illegal text protocol command 对于Hadoop pipes 出现这样的错误,基本上编译代码依赖的.so和.a 版本不匹配 ...
- treap树---Double Queue
HDU 1908 Description The new founded Balkan Investment Group Bank (BIG-Bank) opened a new office i ...
- Linux命令详解之—cat命令
cat命令的功能是连接文件或标准输入并打印,今天就为大家介绍下Linux中的cat命令. 更多Linux命令详情请看:Linux命令速查手册 Linux 的cat命令通常用来显示文件内容,也可以用来将 ...
- 设计模式之桥接模式(Bridge)
注:本文不属于原创,而是根据原文重新整理,原文是:我给媳妇解释设计模式:第一部分 设计模式不是基于理论发明的.相反,总是先有问题场景,再基于需求和情景不断演化设计方案,最后把一些方案标准化成“模式”. ...
- JAVA 缓存Ehcache详细解毒
链接地址:http://raychase.iteye.com/blog/1545906 作者:RayChase 写的真是太好了,郑重推荐.
- mysql awr v1.0.2发布
改进说明: 1.新增监控Mysql实例通过web控制台http://ip:port/hosts.html进行,无需更改mysql-jdbc.properties配置文件和spring-servlet. ...
- JSON详解 .net
之前json掌握的不好,浪费了好多时间在查找一些json有关的转换问题,我所知道的方法只有把json序列化和反序列化一下,但是太麻烦了我觉得,所以就在找一些更简单又方便使用的方法.也许这个会有用吧,所 ...
- Sharepoint 2013 创建TimeJob 自动发送邮件
创建Time Job 继承继承SPJobDefinition 并且实现里边的 Execute方法 部署 可以手动部署,把程序集放到GAC,手动激活feature 如果部署的时候说feature已经存在 ...
- [android] SQLite 数据库的升级 和 降级
public class SqliteHelp extends SQLiteOpenHelper { /* * context:创建数据库所需的 上下文对象 * name: 数据库名字 * facto ...
- UIView简单动画
UIView动态实现的效果有以下几种: 1.动态改变frame 2.动态改变color 3.动态改变alpha 4.动态改变bounds 首先,我们先看几种BasicView动画 #pragma ma ...