我在第二遍時收到以下錯誤,同時遍歷錶行有激活的刪除按鈕。
「結果堆棧跟蹤:OpenQA.Selenium.StaleElementReferenceException:陳舊元件參考:元件未連接到頁文件」c#Selenium Webdriver - 遍歷表格行並單擊每行中的按鈕
IWebElement baseTable = Browser.Driver.FindElement(By.XPath("//*[@id='approvalsGrid']/table/tbody"));
ICollection<IWebElement> delButton = baseTable.FindElements(By.XPath("//*[@class = 'k-grid-remove lnkDelete']"));
foreach (var button in delButton)
{
button.Click();
WaitForAjax();
//2nd delete button in popup
Browser.Driver.FindElement(By.XPath("//a[text() = ' Delete']")).Click();
WaitForAjax();
}
任何幫助將不勝感激。
這是私人網頁還是我們能查看它? –
這是dev服務器上的一個私人頁面。必須在網絡內才能訪問它。 – user1279586
可能發生的情況是第二次迭代可能會找到上一個刪除按鈕,因爲它太快了。這是有道理的,你爲什麼會得到一個陳舊的元素例外。你可以嘗試在try catch中包裝你的點擊函數,或者在點擊刪除按鈕之前放入另一個sleep/wait命令(https://stackoverflow.com/questions/20798752/how-can-i-ask-the-selenium -wendriver-wait-for-seconds-seconds-send-key) –