繁体   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