簡體   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