如何在C#中使用Selenium WebDriver从有序列表中选择多个Web元素?

我要手动执行操作,请按Ctrl键并选择多个选项。我想使它自动化。

以下是示例HTML:

<ol id="selectable" class="ui-selectable">
        <li class="ui-state-default ui-selectee">1</li>
        <li class="ui-state-default ui-selectee">2</li>
        <li class="ui-state-default ui-selectee">3</li>
        <li class="ui-state-default ui-selectee">4</li>
        <li class="ui-state-default ui-selectee">5</li>
        <li class="ui-state-default ui-selectee">6</li>
        <li class="ui-state-default ui-selectee">7</li>
        <li class="ui-state-default ui-selectee">8</li>
        <li class="ui-state-default ui-selectee">9</li>
        <li class="ui-state-default ui-selectee">10</li>
        <li class="ui-state-default ui-selectee">11</li>
        <li class="ui-state-default ui-selectee">12</li>
</ol>

感谢您的时间和精力。

最佳答案

您是否尝试过使用GetElementsByClassName()?结合Actions类中的KeyDown命令(请参阅this question的答案),类似的东西可能对您有用...

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Interactions;

var driver = new WebDriver();

var elements = driver.GetElementsByClassName("ui-state-default ui-selectee");

var action = new Actions(driver);

action.KeyDown(Keys.Control);

foreach (var element in elements)
{

    // If element properties match your selection
    element.Click()

}

关于c# - 如何在Selenium中选择多个元素(不是<Select>-<Option>),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53581400/

10-11 16:45