我有一个用Angular编写的表,当我编写下面的代码时,我无法单击以选择多行(它适用于下面的表示例)。对于我的工作表,它只允许我一次选择一行,因此循环不起作用。 我的问题是如何选择UI网格表中的所有行?
我尝试编写一个循环来单击,直到到达最后一行为止,但是对于正在工作的Angular站点,一次只能选择一行。我不能使用CTRL键,因为它需要在没有用户交互的情况下运行。我已经研究了硒类的Actions类,但无法正常使用。
class Program
{
static void Main(string[] args)
{
IWebElement tableElement;
String _address = "https://datatables.net/examples/api/select_row.html";
IWebDriver _driver = new ChromeDriver();
_driver.Navigate().GoToUrl(_address);
tableElement = _driver.FindElement(By.Id("example"));
Actions actions = new Actions(_driver);
var noRows = _driver.FindElements(By.XPath("//table[@id='example']/tbody/tr"));
for (int i = 0; i < noRows.Count; i++)
{
noRows[i].Click();
}
Console.Write("ALl lines seleected");
}
}
}
答案 0 :(得分:0)
我通过添加此行来解决
actions.KeyDown(Keys.Control).Click(gridTotal [1])。KeyUp(Keys.Control).Build()。Perform();