模态窗口用webdriver定位不到,可用java+sikuli实现
一、安装sikuli(参见:http://lijunwei1228ok.blog.163.com/blog/static/97383797201311279595821/)
1.官网:http://www.sikuli.org/download.html下载
2.在本地双击sikuli-setup.jar,然后再同一个目录中会出现
3.安装完成后,在同一个目录下会生成如下文件
目录:F:\selenium\workspace\sikuli
4.双击runIDE.cmd可以运行sikuli的客户端。界面如下,
启动中:
启动后:
5.开始录制模态窗品控件
6.录制后保存文件为*.sikuli--(mtck.sikuli)
7.再导出文件*.skl--(mtck.skl)
8.准备好给java调用的文件如下:
目录:F:\selenium\workspace\sikuli\mtck
双击运行mtckcl.bat,只要能回放正常,在JAVA中调用就肯定没问题。
其中mtckcl.bat 的内容如下:
@echo off
:::::::::::::::::::::::::::
REM 调用Sikuli,点击模态窗口里面元素
::::::::::::::::::::::::::
set fjscriptHome=F:\selenium\workspace\sikuli\mtck
set SikuliHome=F:\selenium\workspace\sikuli
cd /d %fjscriptHome%
"%SikuliHome%"\runIDE.cmd -r "mtck.skl"
二、在eclipse中调用bat文件即可
pm.click(By.id("BtnSwfFileUp")); //上传附件
try {Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); }
try{
Runtime.getRuntime().exec("F:\\selenium\\workspace\\sikuli\\mtck\\mtckcl.bat");
}catch (IOException e1){e1.printStackTrace(); System.out.println("fffffffff");}
//这里有个问题要注意,java调完用sikuli就会马上执行下面的代码,而这时sikuli都还没有执行完呢,所以只好先用sleep等待sikuli执行完,再执行下面的代码了
try {Thread.sleep(39000); } catch (InterruptedException e) { e.printStackTrace(); }
pm.sendKeys(By.id("txtTitle"), "公告发布111"); //输入标题
driver.findElement(By.id("btSubmit")).click(); //这里还有奇怪的问题等待后不会执行该句点击操作也不会错,而把输入标题放在这句上行后,就会执行这两句了。
模态窗口用webdriver定位不到,可用java+sikuli实现的更多相关文章
- py+selenium 无法定位ShowModalDialog模态窗口【已解决】
问题:无法定位弹出的模态窗口. 前瞻: 模态窗口:关闭之前,无法操作其他窗口. 但是selenium无法定位到这类窗口,百度说是目前selenium不支持处理模态窗口. 目标:定位到窗口里面的元素,完 ...
- Swift-打开其它Storyboard中的自定义模态窗口
本文的方法针对OS X应用开发. 如果想在某个ViewController中,用模态窗口的方式,打开某个Storyboard中定义的WindowController.可用以下方式. let story ...
- 使用异步js解决模态窗口切换的办法
核心代码 js ="setTimeout(function(){document.getElementsByTagName('Button')[3].click()},100);" ...
- asp.net数据加载进度和模态窗口的完美打开,而且窗口不被阻止
采用jquery的技术打开模态窗口,效果肯定不错,但是微软的asp.net ajax就无法用了,例如updatepanel面板和updateprogress就看不到效果,也就是jquery与asp.n ...
- JaveWeb 公司项目(2)----- 类模态窗口显示DIV并将DIV放置在屏幕正中间
上一篇博客写的是通过隐藏显示进行div的替换,接下来需要在原有的div前添加一个div,进行表单的提交,需要将div放置在正中间,然后类似C#中的模态窗口,在进行完新弹出的div操作之后,才可以进行下 ...
- robotframework+Selenium2Library 模态窗口的处理
原文链接:https://www.cnblogs.com/zuola/p/5750018.html 所谓模态窗口,就是指除非采取有效的关闭手段,用户的鼠标焦点或者输入光标将一直停留在其上的对话框. ...
- 2019-6-23-WPF-解决弹出模态窗口关闭后,主窗口不在最前
title author date CreateTime categories WPF 解决弹出模态窗口关闭后,主窗口不在最前 lindexi 2019-06-23 11:48:38 +0800 20 ...
- WPF 解决弹出模态窗口关闭后,主窗口不在最前
本文告诉大家如何解决这个问题,在 WPF 的软件,弹出一个模态窗口.使用另一个窗口在模态窗口前面.从任务栏打开模态窗口.关闭模态窗口.这时发现,主窗口会在刚才使用的另一个窗口下面 这是 Windows ...
- 用JqueryUI的Dialog+IFrame实现仿模态窗口效果
大家有没有想过这样一个问题,当我点击某个图片的时候,我想弹出这个图片信息的详情并修改,于是你首先想到的是不是window.open?window.open方法确实可以,但是有它的局限性,比如,标题显示 ...
随机推荐
- Activity之间传递参数(三)
------siwuxie095 传递值对象,即自定义的有数据类型的对象 1.首先 new 一个 class:User,用于创建自定义对象,同时右键 Generate 出 Constructor.se ...
- Light OJ 1029- Civil and Evil Engineer (图论-最小生成树)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1029 题目大意:一个发电站,给n座房子供电, 任意房子之间有电线直接或者间接相 ...
- Coursera Machine Learning : Regression 简单回归
简单回归 这里以房价预测作为例子来说明:这里有一批关于房屋销售记录的历史数据,知道房价和房子的大小.接下来就根据房子的大小来预测下房价. 简单线性回归,如下图所示,找到一条线,大体描述了历史数据的走势 ...
- 课堂Beta发布140字评论
Beta发布140字评论: 第一组:飞天小女警 此项目组的功能是礼物挑选,创意十足,用户只要一听名字便会被深深吸引,并且页面设计感,时尚感十足,不断吸引客户的眼球,而且发布到云服务器上面. 第二组:金 ...
- js 事件绑定
事件绑定的方式 1. DOM 元素行内绑定 <div onclick="alert(1)"></div> 2. js on+eventType do ...
- Java实现中文数字转换为阿拉伯数字
/** * 中文數字转阿拉伯数组[十万九千零六十 --> 109060] * @author 雪见烟寒 * @param chineseNumber * @return */ @Suppress ...
- three.js 根据png生成heightmap
Three.js: render real world terrain from heightmap using open data By jos.dirksen on Tue, 07/17/2012 ...
- SQL Server 2008 r2 中 SQL语句提示“对象名无效”,但可执行
[问题描述]在使用 SQL Server 2008 r2 时,有时在完成SQL书写后,会提示“对象名无效”,而SQL语句可正常执行. [原因]缓存相关. [解决方法]ctrl+shift+R 刷新下, ...
- 服务器内存UDIMM与RDIMM区别
UDIMM 全称是无缓冲双信道内存模块(Unbuffered Dual In-Lne Memory Modules),它不支持服务器内存满配,就是最高容量了,因为使用UDIMM内存时最大使用每通道只能 ...
- [15]APUE:pipe / FIFO
管道 pipe 一.概述 管道(pipe / FIFO)是一种文件,属于 pipefs 文件系统类型,可以使用 read.write.close 等系统调用进行操作 其本质是内核维护了一块缓冲区与管道 ...