使用robot framework + selenium2 出現異常解決方法

1、出現Stale Element Reference Exception

官方解釋說這種異常有兩種可能:找元素后對元素進行操作時,元素已經被刪除或者元素不再附加到DOM。

一般都是由于JavaScript操作元素導致元素陳舊。

我的項目中需要判斷某個元素是否可見,是否hidden,如果不是hidden需要等待,但是由于頁面刷新,會導致經常出現此異常。

嘗試了很多解決方法:

1) 使用execute JavaScript : return $("#XXX").is(":hidden");? + Wait Until Keyword Succeeds

? ? 這種方法有時會報JavaScript Error

2) 使用 Wait Until Element Is Not Visible ? ?id=XXX

? ? 這種方法會報Stale Element Reference Exception

3) 最后使用 Wait For Condition ? ? ? ? ?return $("#J_LoadPage").is(":hidden");

? ? 似乎可以成功



2、Jenkins + Selenium + IE 出現 WebDriverException: Message: Failed to navigate tohttp://xxxx/x. This usually means that a call to the COM method IWebBrowser2::Navigate2() failed.

這是由于用作Jenkins slave的那臺機器,將啟動slave的服務作為了windows服務自啟動了,同時又從jenkins上執行了本機的ie自動化,可能有沖突,ie總是無法成功執行。

解決方法:

1)去掉windows服務,改用java命令行或者客服端,但是這樣的話就無法開機自啟動

2)使用selenium-grid,ie連接一個hub,啟動瀏覽器時使用remote-url就行,這樣就不會有沖突了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容