如何在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/