模态窗口用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方法确实可以,但是有它的局限性,比如,标题显示 ...
随机推荐
- 小tip:CSS vw让overflow:auto页面滚动条出现时不跳动
原文地址:http://www.zhangxinxu.com/wordpress/?p=4552 一.水平居中布局与滚动条跳动的千年难题 当前web届,绝大多数的页面间布局都是水平居中布局,主体定个宽 ...
- 乌邦图ubuntu配置iptables的NAT上网
cat /etc/network/iptables.up.rules # Generated by iptables-save v1. :: *nat :PREROUTING ACCEPT [:] : ...
- 中兴MF667S WCDMA猫Linux拨号笔记
公司最近有个国外有个项目需要用到WCDMA猫,网上简单选型了一下决定使用ZTE的型号MF667S的猫,本以为在Linux下拨号是比较简单的(之前有两款3G猫的调试经验),估计半天能搞定,结果折腾了一周 ...
- 怎样获取本机的ip地址
首先介绍一下用到的结构体 struct hostent { const char *h_name; // official name of host char **h_aliases; // alia ...
- Python.with.context-manager
Context Manager 1. Context Manager简介 "Context managers are a way of allocating and releasing so ...
- 【windows 下安装 mysql-server 无法登录问题解决】
----------------------------- 无感的首行 ----------------------------- 新版 mysql-server 5.7 安装后发现无法使用 mysq ...
- 求两个集合的交集和并集C#
我是用hashset<T>来实现的 具体如代码所示 using System; using System.Collections.Generic; using System.Linq; u ...
- MongoDB基本管理命令
MongoDB是一个NoSQL数据库系统:一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表:而每个集合中 可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,由 ...
- error C2065: “CDatabase”: 未声明的标识符
使用vc++与access的接口时出现错误“error C2065: “CDatabase”: 未声明的标识符” 解决方法: 添加 #include "afxdb.h"
- Ado.net中简单的DBHelper类(增删改查)
private static string connString = "server=.;database=hotel;uid=aa;pwd=123";//最好从配置文件中取出 p ...