selenium - 如何从标签中获取每一行的文本
问题描述
我如何从每一行中获取一些文本。这是代码:::
<table>
<tbody>
<tr>
<td style =" " >
<span calss=xxx'>Manager </span>
</td>
<td> 123</td>
<td> 456 </td>
</tr>
<tr>
<td style =" " >
<span calss=xxx'>Employee </span>
</td>
<td> 123</td>
<td> 456 </td>
</tr>
<tr>
<td style =" " >
<span calss=xxx'>Admin </span>
</td>
<td> 123</td>
<td> 456 </td>
</tr>
<tr>
<td style =" " >
<span calss=xxx'>Non-Admin </span>
</td>
<td> 123</td>
<td> 456 </td>
</tr>
</tbody>
</table>
当我单击 21 行中的一行时,它会打开一个弹出窗口,其中包含具有 3-4 行的表格。一个弹出窗口可能包含 4 或 3 或 2 或 1 行,依此类推。在单击每一行后,我想为每一行获取该文本(经理、员工、管理员、非管理员)。找到所有元素,@FindBy(xpath="//td[contains(text(),'Manager')]") WebElement managerText; 但我如何对其执行操作。最终输出应如下所示: 在第一个弹出窗口中,有 3 个文本(td),应该获取并显示如下: Manager Employee Admin 在第二个弹出窗口中,有 2 个文本(td),应该获取并显示 Employee Admin 对于第三个弹出窗口,只有一个 td(text Non-Admin.
在 getText() 的帮助下,如果弹出窗口中不存在其中一个文本,则能够获取值并进入循环,它会使脚本失败。不知道如何处理 No such element exception for all 21 rows or with looping command。如果有人知道,请回复。谢谢。
解决方案
推荐阅读
- java - 将元素的数量与 ArrayList 中的数字匹配
- r - 将元素名称粘贴到每个列表元素的列上
- java - 我需要对泛型使用 <> 空尖括号吗?
- core-data - Swift 4 查询具有相同属性的多个核心数据实体
- jquery - 仅在单击下一个按钮时检测已选中的复选框
- javascript - 警报不是 IIFE 中的功能
- swift - MIME 类型的所有应用程序 URL
- amazon-web-services - AWS Codepipe 网络钩子
- c - 无法在“.vscode”文件夹中创建“launch.json”文件(无法读取未定义的属性“长度”)
- ruby-on-rails - 如何对具有相同类型的数组中相同键的值求和?