c# - 如何在不使用 C# 按住 CTRL 键的情况下选择 UI 网格中的多行?
问题描述
我有一个用 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");
}
}
}
解决方案
我通过添加这一行来解决
actions.KeyDown(Keys.Control).Click(gridTotal[1]).KeyUp(Keys.Control).Build().Perform();
推荐阅读
- javascript - 每页 csrf 令牌 - java.lang.IllegalStateException:启用每页令牌时必须定义“uri”属性
- shell - 通过 Onenote 共享链接提取信息
- mysql - 共享数据的单元格
- python - 如何从向量列表中确定近似对称性?
- laravel - Laravel 6/7 删除带有验证的实体
- javascript - 如何通过从 json 获取动态数据来创建动态变量
- python - 我看不到完整的热图
- android - 如何回到android中上一个活动中的片段
- javascript - NodeJS Canvas - 仅将剪切区域保存到新的画布/文件
- sql-server - 在windows中运行sql