[英]Arrow down action stops performing after some iteration
如果 web 元素可以進一步向下滾動,我有一個 while 循環繼續運行,這是通過執行每個循環的action.SendKeys(Keys.ArrowDown).Perform()
行來完成的。 但是,一切都很好,直到可能像第 9 次迭代一樣,循環執行action.SendKeys(Keys.ArrowDown).Perform()
,但瀏覽器上沒有任何反應,導致我的循環結束並且測試用例失敗,因為 web 元素仍然可以進一步向下滾動
while (notCompleted)
{
if (lastText == findElementsByAttributeUsingXPath(_featureContext.Get<IWebDriver>("driver"), "class", "input-dropdown-list-row___").ToList().Last().GetAttribute("id"))
notCompleted = false;
else
{
lastText = findElementsByAttributeUsingXPath(_featureContext.Get<IWebDriver>("driver"), "class", "input-dropdown-list-row___").Last().GetAttribute("id");
action.SendKeys(Keys.ArrowDown);
action.Perform();
list = (findElementsByAttributeUsingXPath(_featureContext.Get<IWebDriver>("driver"), "class", "input-dropdown-list-row___").ToList().Except(currentDropdownList).ToList()).Except(dropdownList).ToList();
currentDropdownList = findElementsByAttributeUsingXPath(_featureContext.Get<IWebDriver>("driver"), "class", "input-dropdown-list-row___").ToList();
dropdownCount += list.Count();
}
}
有人知道發生了什么嗎? 關於如何解決它的任何想法?
html 看起來像這樣,如果你看一下 id,downshift 從 0 開始到 14 atm 結束,但是每次我點擊向下箭頭時,它從頂部減去一個,在底部添加一個(從 1 開始到 15 結束) 等等
解決此問題的最簡單方法是使用:
Thread.sleep(1000)
嘗試手動運行測試並准確了解第 9 次和第 10 次迭代中發生了什么。 DOM 可能發生更改,並且您嘗試單擊的 object 不可見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.