首页 > 解决方案 > 如何从标签中获取每一行的文本

问题描述

我如何从每一行中获取一些文本。这是代码:::

<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。如果有人知道,请回复。谢谢。

标签: selenium

解决方案


推荐阅读