如何解决如何在运行时单击特定图像?
我正在填写表格,其中的字段可以是复选框/单选按钮/文本框/日期选择器/时间选择器等。 我在单击“ TimePicker”时遇到了一个问题,基本上是在右侧提供了一个时钟图标,当我单击它时,我必须从中选择一个弹出窗口。 请参考图片。 https://i.stack.imgur.com/MUOXz.jpg没有定位器的帮助,我可以单击“时钟”图标。 这是html DOM。
<ac-input _ngcontent-brk-c387="" inputtype="time" _nghost-brk-c374="" class="visible ng-untouched ng-pristine ng-invalid ng-star-inserted" xpath="1">
<div _ngcontent-brk-c374="" class="col-sm-12 col-md ng-star-inserted">
<div _ngcontent-brk-c374="" class="form-group">
<ac-label _ngcontent-brk-c374="" _nghost-brk-c371="">
<label _ngcontent-brk-c371="" aria-hidden="true" class="ql-editor required ng-star-inserted" for="<p>
<p>
2. Time:
</p>
</label>
</ac-label>
<div _ngcontent-brk-c374="">
<input _ngcontent-brk-c374="" class="form-control ng-star-inserted" id="<p></p>" type="time">
</div>
<ac-hint _ngcontent-brk-c374="" _nghost-brk-c372="">
</ac-hint>
<ac-validation-messages _ngcontent-brk-c374="" role="alert" aria-atomic="true" _nghost-brk-c348="" style="">
</ac-validation-messages>
</div>
</div>
</ac-input>
我已经使用剪切工具从应用程序中捕获了“时钟”图标,并粘贴到桌面以及我的应用程序的“屏幕快照”文件夹下。 但是,单击事件不是在运行时从应用程序发生的,而是单击桌面上的“时钟”图标。控制台输出为“ [[log] L [410,442] @S(0)(69毫秒)上的双击”。
这是我尝试过的...
else if(answerType.equals("Time"))
{
WebElement timeText = answers.get(ans) .findElement(By.tagName("label"));
System.out.println(timeText.getText());
Screen screen = new Screen();
Pattern image1 = new Pattern("C:\\Selenium\\workspace\\C_Care\\Screenshots\\Clock.PNG");
Pattern image2 = new Pattern("C:\\Selenium\\workspace\\C_Care\\Screenshots\\Twelve.png");
screen.wait(image1,10);
for(int sc=0; sc<6; sc++)
{
screen.mouseMove(image1);
screen.doubleClick(image1);
break;
}
screen.wait(image2,10);
screen.click(image2);
}
我正在使用TestNg框架,并且对Sikuli使用的maven依赖为2.0.4。
任何帮助将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。