使用selenium实现右键另存为保存文件

时间:2022-09-13 13:56:31

1.需要借住autoit工具和Robot类,下载地址:https://www.autoitscript.com/site/autoit/downloads/

2.autoit的使用不再详细讲解。如下图:

使用selenium实现右键另存为保存文件

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实现右键另存为保存文件的更多相关文章

  1. selenium webdriver 右键另存为下载文件(结合robot and autoIt)

    首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...

  2. webdriver高级应用- 右键另存为下载文件

    1.要使用右键另存,需要先按照第三方工具AutoIt: 链接: https://pan.baidu.com/s/12aBBhOOTmyQpH9hukt0XGA 密码: fcdk 2.创建一个名为loa ...

  3. python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为

    0.关键实现:程序窗口前置 python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过pyauto实现右键菜单和另存为操作 1.参考 aut ...

  4. Win 7 IE11不能下载文件,右键另存为也不行

    在IE11中不能下载文件,右键另存为也无效. 发现 在IE11中点击“INTERNET选项”后,IE临时文件夹的地址没有显示,大小为0,修改只能让设置在8-8MB,注销再登录后,一切设置无效. 问题就 ...

  5. Selenium实现右键保存图片(Java)

    1.代码 public class SaveImage extends TestCase { private WebDriver driver; private Actions action; pri ...

  6. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  7. Js 直接下载保存文件

    //直接下载保存文件 function Download(filePath) { // 如果中间IFRAME不存在,则添加 if (!document.getElementById("_SA ...

  8. C&num;中saveFileDialog&lpar;另存为&rpar;保存图片文件

    弹出另存为提示框保存图片文件: //用户*选择指定路径保存文件            SaveFileDialog savedialog = new SaveFileDialog();        ...

  9. VIM之打开、保存文件

    如何使用命令 在Normal mode下,输入':'字符,在GVIM界面左下可以看到如图所示的界面: 这时候可以键入命令,输入完后按下键盘上的Enter键即可执行命令. 打开文件 使用命令:e [文件 ...

随机推荐

  1. System中记录体函数命名怪异

    //1019unit System; 中发现记录体函数命名怪异//乍一看,很怪异,其实是结构体里面 的变量后面直接写 函数类型了.不像传统先定义T***Event      = procedure(S ...

  2. 使用Python和Perl绘制北京跑步地图

    当你在一个城市,穿越大街小巷,跑步跑了几千公里之后,一个显而易见的想法是,如果能把在这个城市的所有路线全部画出来,会是怎样的景象呢? 文章代码比较多,为了不吊人胃口,先看看最终效果,上到北七家,下到南 ...

  3. 第五章 springboot &plus; mybatis&lpar;转载&rpar;

    本编博客转发自:http://www.cnblogs.com/java-zhao/p/5350021.html springboot集成了springJDBC与JPA,但是没有集成mybatis,所以 ...

  4. 【架构】docker环境搭建mysql主从

    序 本文主要研究怎么在docker上搭建mysql的主从.因为在单机搭建mysql多实例然后再配主从,感觉太痛苦了,环境各有不同,配置各不大相 同,从网上找搭建方法,试了半天也没成功,最后也没耐心调试 ...

  5. Android 开发无线调试

    在进行android开发的时候有时候总是连接不上设备,因为设备的USB进行频繁插拔之后会导致一定的损坏.所以在设备已经无法利用数据线进行连接开发工具的时候就需要有那么一个功能,那就是无线调试,是不是感 ...

  6. 关于Struts与Ajax整合时的异常处理

     关于Struts与Ajax整合时的异常处理问题: 问题还原: 从而当有异常发出时,会将异常信息发送到页面上.如下图所示:这是一个比较经典的过程: 错误提示页面: 由于sendError()方法里 ...

  7. 重新设置Eclipse的workspace路径

    有3中方法可以更改workspace的路径设置: 1. 启动Eclipse/MyEclipse后, 打开"Window -> Preferences -> General -&g ...

  8. jQuery-jqprint&period;js打印插件使用高版本jQuery时问题

    使用jqprint打印插件的网页demo代码: <!doctype html> <html> <head> <meta charset="utf-8 ...

  9. 视频处理工具FFmpeg的安装(windows&sol;Linux)

    ♣FFmpeg是什么? ♣FFmpeg组成 ♣下载工具 ♣安装FFmpeg ♣应用到j2ee项目 前言:学习视频编码,一定要知道雷霄骅(leixiaohua1020)的专栏 ,伟大的程序员,26岁去世 ...

  10. zw版【转发&&num;183&semi;*nvp系列Delphi例程】HALCON union1

    zw版[转发·*nvp系列Delphi例程]HALCON union1 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, ...