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

时间:2023-03-09 00:13:00
自动化脚本中click()或sendKeys()没有反应

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

问题描述

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

根本原因

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

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

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

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

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

解决办法

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

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

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

  

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

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

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