c# - 有人可以用另一个相对的 XPath 帮助我找到一个元素吗?
问题描述
不好意思再问。
我还有一个无法在 Angular 网格上找到的 webElement。我可以得到 XPath,但它很长,我需要压缩它。完整的 HTML 和我的 XPath 如下。我需要在表格中找到其中一个单元格元素。
我想找到这个
<td aria-describedby="dx-col-20" aria-selected="false" role="gridcell" aria-colindex="4" style="text-align: left;" tabindex="0" class="dx-cell-focus-disabled">Testie Tester</td>
请参阅下面的完整 HTML 代码
<table class="dx-datagrid-table dx-datagrid-table-fixed" role="presentation"><colgroup><col style="width: 30px;"><col><col><col><col></colgroup><tbody role="presentation"><tr class="dx-row dx-data-row dx-row-lines dx-selection" role="row" aria-selected="true" aria-rowindex="1"><td aria-describedby="dx-col-17" aria-selected="false" role="gridcell" aria-colindex="1" class="grid-icon-container" tabindex="0" style="text-align: left;"><img class="grid-icon" src="/assets/app/document-types/DOC-Active-16x16.svg" alt="icon"></td><td aria-describedby="dx-col-18" aria-selected="false" role="gridcell" aria-colindex="2" style="text-align: left;"><a onclick="window.navEventUrl='customLink:/document/people/b20236e5-2802-4dd4-8ae0-47910099d34b/TestCv1.doc/6289d044-a9dc-45d4-ab40-80eb90d589db'; window.dispatchEvent(new Event('navEvent'))">TestCv1.doc</a></td><td aria-describedby="dx-col-19" aria-selected="false" role="gridcell" aria-colindex="3" style="text-align: left;">38912</td><td aria-describedby="dx-col-20" aria-selected="false" role="gridcell" aria-colindex="4" style="text-align: left;" tabindex="0" class="dx-cell-focus-disabled">Testie Tester</td><td aria-describedby="dx-col-21" aria-selected="false" role="gridcell" aria-colindex="5" style="text-align: left;" title="21/05/2019 11:50:46 am">21/05/2019 11:50:46 am</td></tr><tr class="dx-row dx-freespace-row" role="presentation" style="height: 391px;"><td style="text-align: left;"></td><td style="text-align: left;"></td><td style="text-align: left;"></td><td style="text-align: left;"></td><td style="text-align: left;"></td></tr></tbody></table>
而我的 XPath(确实有效)是
//*[@id="content-container"]/inv-sidebar-layout-content/ng-component/ng-component/section/div[2]/as-split/as-split-area[1]/article/inv-people-tabs/inv-vertical-tabs-list/div[2]/div/inv-tab[4]/div/inv-grid/div/div/div[2]/dx-data-grid/div/div[6]/div/div/div[1]/div/table/tbody/tr[1]/td[6]
解决方案
试试下面的 xpath 你会得到所有的<td>
//table[@class="dx-datagrid-table dx-datagrid-table-fixed"]//tr//td
如果您想从第一个单元格获取图像,请尝试在 xpath 下方。
//table[@class="dx-datagrid-table dx-datagrid-table-fixed"]//tr//td/img[@class="grid-icon"]
如果你想获得 TestCv1.doc 试试下面的 xpath
//table[@class="dx-datagrid-table dx-datagrid-table-fixed"]//tr//td/a[contains(.,"TestCv1.doc")]
如果您想获取 testi 测试器,请使用以下 xpath。
//table[@class="dx-datagrid-table dx-datagrid-table-fixed"]//tr//td[contains(.,"Testie Tester")]
如果你想获取时间。
//table[@class="dx-datagrid-table dx-datagrid-table-fixed"]//tr[1]//td[5]
推荐阅读
- java - 在单元测试中访问实例的私有方法
- c# - 使用 FTDI 创建 UWP 应用程序的问题
- graph - Dijsktra 算法 - 先行者
- javascript - 即使其中有数据,我的数组中的项目也未定义
- javascript - 如何从文件输入中读取文件内容?
- html - 半容器,半容器流体
- python - 表检测任务(TableBank & Detectron):UnicodeDecodeError:'ascii'编解码器无法解码位置 0 的字节 0x80:序数不在范围内(128)
- live-streaming - OpenTok:视频元素暂停警告,无法取消发布
- hadoop - 两个具有 Kerberos 身份验证的 Hadoop 集群
- c# - 将一个类实例的每个字段复制到另一个类实例以保持数据绑定