繁体   English   中英

使用 java/selenium webdriver 操作类引发的 InvocationTargetException

[英]InvocationTargetException thrown with java/selenium webdriver action class

我正在使用带有 java 的 IE 驱动程序。 我在 c# 中做得很好,但尝试 java 并遇到了障碍。 我在类级别使用单例模式实例化驱动程序,然后使用@Test 开始一个junit 测试。 我将元素的发现与动作分开,元素的发现很好地识别了 id=69 的元素和浏览器自动分配的十六进制代码。 到目前为止,一切都很好。

然后我为 WebElement 获取该变量并将其传递给action.click(element); 此时会抛出InvocationTargetException并返回 null。 研究我发现驱动程序 null 导致问题的位置,但就像我说的驱动程序不是 null 并且具有准确填充的元素变量。

我想知道硒参考是否有问题,或者在尝试使用该库时可能会抛出 null 的幕后问题。 我有什么想法可以让它发挥作用吗? 这在技术上是一个 java.lang.reflect 异常,而不是一个特定于 selenium 的异常,如果它是一个空变量,我希望它会抛出一个 selenium 异常。

任何指示或想法将不胜感激。

我找到了答案。 动作类未绑定到驱动程序。 所以我可以使用我想要的所有驱动程序,但是操作启动找不到浏览器来执行操作。 我有一个名为 Action 的子类,我正在使用它,这让我与 selenium 的“Actions”类混淆了。

糟糕,但如果有人在尝试使用 selenium 时遇到带有 null 值的InvocationTargetException ,请确保每个 selenium 类都已正确实例化并与活动驱动程序实例相关联。

我使用了下面对我有用的代码。

((JavascriptExecutor) driver).executeScript("return arguments[0].click();", element);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM