簡體   English   中英

向下箭頭操作在一些迭代后停止執行

[英]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.

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