自动化脚本中click()或sendKeys()没有反应

前提: 排除xpath引用错误或元素的xpath每次都不同的情形.

 

问题描述

自动化脚本中click()方法和sendKeys()方法报错, 返回异常InvocationTargetException.

 

根本原因

1) 元素被遮挡. 比如操作元素前一步有个弹出框, 在操作元素时弹出框还未关闭.

 

2) 有两个标签页, 所要选择的元素存在于其中一个标签页

  

 

3) 有两个form, 所要选择的元素存在于其中一个.

  

 

 

 

解决办法

如果是第一种情形, 加等待就可以解决.

 

另外两种情形, 有时在xpath前面加点就可以解决这个问题,但有时不行. 最好两步一起来:

a. 从当前form或标签页找起

  

1 public class subTabSendEnq {
2     final static String from = "/html/body/div[7]/div/div[2]"; //当前form的xpath
3     public static void input(String xpath, String input) {
4         WebElement s = AntBrowser.getBrowser().getElementFrom(AntBrowser.getBrowser().getElement(from), xpath);
5         s.sendKeys(input);
6     }
7 }

 

b. 在需定位元素的xpath前面加点

 

1 subTabSendEnq.input(".//*[@id=\"fullname\"]", "abc"); //xpath前面加点

 

转载于:https://www.cnblogs.com/cheese320/p/8882544.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值