selenium-webdriver - 使用 C# 和 WinAppDriver 从 Excel 名称框中获取文本
问题描述
我有一个 C# 自动化项目,它使用 WinAppDriver Release Candidate 1.2 与 Microsoft Excel 一起工作。
我有一个案例,我试图使用下面的代码获取工作表上已填充的行数。
public string GetLastCellBelowStartRange(string sheetName, string startRange)
{
var sheet = FindSheet(sheetName);
var nameBox = this.GetNameBox();
nameBox.SendKeys($"{sheetName}!{startRange}{Keys.Enter}");
this.excel.SendKeys($"{Keys.Control}{Keys.ArrowDown}");
var endCellRange = nameBox.GetAttribute("LegacyIAccessible.Value");
return endCellRange;
}
代码成功地转到工作簿中的最后一个单元格,nameBox 以及 excel 驱动程序(即 this.excel)都是已知的。
我无法确定如何获取 Inspect 在 Value.Value 和 LegacyIAccessible.Value 中显示的当前单元格的内容。
有人知道这样做的方法吗?
解决方案
public string GetLastCellBelowStartRange(string sheetName, string startRange)
{
var sheet = FindSheet(sheetName);
var nameBox = this.GetNameBox();
nameBox.SendKeys($"{sheetName}!{startRange}{Keys.Enter}");
this.excel.SendKeys($"{Keys.Control}{Keys.ArrowDown}");
string endCellRange = nameBox.GetAttribute("Value.Value").ToString();
return endCellRange;
}
推荐阅读
- openlayers-3 - 以一种比例冻结地图
- python - 如何在json文件中写入变量?
- sql - 查询中建议的响应顺序
- react-native-firebase - 是否有必要为 analytics().logEvent 使用 await?
- azure - Terraform Azure Provider 2.x 错误:“功能”:未设置必填字段
- java - 在 Java 中将正则表达式与集合一起使用
- docker - NestJS 最小化 dockerfile
- javascript - javascript:在嵌套数组中获取值
- bash - +++已解决+++ cronjob 安装的 bash 脚本不会执行 C 程序 +++见评论+++
- javascript - Ajax 加载内容滚动 Laravel