簡體   English   中英

使用Winium驅動程序和C#向下滾動

[英]Scroll down using winium driver with c#

選擇位置時,我可以單擊可見的項目。 但是我無法選擇下拉列表中未顯示的其他項目。 嘗試在下拉列表中看不到的下拉列表中選擇其他位置時,它正在單擊其他位置。

下面是代碼片段:

IWebElement ele = driver.FindElement(By.Id("cmbLocation"));
List<IWebElement> lis = ele.FindElements(By.ClassName("ListBoxItem"));
for(int i = 0; i< lis.size(); i++) {
    WebElement elem = lis.get(i).FindElement(By.name("LINWOOD"));
    if("LINWOOD".contains(elem.getText())) {
        lis.get(i).click();
        break;
    }
}

我什至嘗試將索引號傳遞為

lis.get(15).click();

我也實現了Actions類。 但這似乎不起作用。

我也面臨同樣的問題。 但是,我沒有找到解決方案。 我暫時使用一種解決方案。 但這是骯臟的解決方法。

如果下拉菜單中具有向下滾動條,請單擊該向下滾動箭頭,直到您的元素可見,然后嘗試單擊該元素。 這樣可行。

您可以使用Winium.Elements滾動到元素,這可以通過Nuget包https://github.com/2gis/Winium.Elements獲得

一旦具備以上條件,就可以像這樣在測試中使用它

如果上述ele是組合框,則可以執行以下操作

 var comboBoxElement= ele.ToComboBox();

        comboBox.Expand();
        comboBox.ScrollTo("LINWOOD").Click();

如果上面的元素是一個列表框,則可以執行以下操作

 var listWebElement= ele .ToList();

     listWebElement.Scroll(By.Name("LINWOOD")).Click();

暫無
暫無

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

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