簡體   English   中英

如何在不使用已棄用的 ExpectedConditions 的情況下在 selenium 測試中遇到諸如“元素不可交互”異常之類的異常

[英]How to encounter exceptions like “element not interactable” exception in selenium test without use of ExpectedConditions which are deprecated

我正在用 selenium 進行測試,我更正為沒問題,但有時由於“ElementClickInterceptedException”和“元素不可交互”等不同的異常,測試給了我ko。 我的問題是:有沒有辦法遇到這種問題? 我在互聯網上發現了不同的代碼使用:Thread.Sleep 和 ExpectedConditions 但第二種方法使用不推薦使用的代碼,第一種我不確定是好方法,因為它會使測試非常慢並且會在很長一段時間內運行時間。

ExpectedConditions確實已棄用,但有一種解決方法可以替代它們:

Wait.Until(c => c.FindElement(By.Id("elem-id")));

基本上,您可以在Wait.Until函數中添加任何 lambda 表達式。

在此處查看文檔: https : //www.selenium.dev/selenium/docs/api/dotnet/html/M_OpenQA_Selenium_Support_UI_DefaultWait_1_Until__1.htm

重復將此實例的輸入值應用於給定函數,直到發生以下情況之一: 函數既不返回 null 也不返回 false 函數拋出一個異常,該異常不在被忽略的異常類型列表中 超時到期

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM