java - 表中相关元素的 XPath

标签 java selenium selenium-webdriver xpath webdriver

我正在使用 Java Selenium 根据输入的标题打开链接。 我有以下 HTML 部分,其中 Top 5 Item Exception Types是我需要找到的标题及其超链接 <a class="CatalogActionLink" href="javascript:void(null)">Open</a>在另一个<tr><td><span>其兄弟旁边的标签 <tr><td><span>标签。我怎样才能找到元素 Open通过搜索标题超链接 Top 5 Item Exception Types

<table cellspacing="4" cellpadding="0" border="0">
    <tbody>
        <tr>
            <td class="CatalogObjectListItemIcon" rowspan="2"><img src="/analytics/res/sk_blafp/catalog/obj_request_b.png" alt="Analysis" title="Analysis"></td>
            <td><span class="CatalogObjectListItemTitle">Top 5 Item Exception Types</span>
                <span class="CatalogObjectListItemLastModifiedTime">Last Modified 2/15/2018 12:39:45 PM</span>
                <span class="CatalogObjectListItemOwner">Owner System Account</span>
            </td>
        </tr>
        <tr>
            <td>
                <table cellspacing="0" cellpadding="0">
                    <tbody>
                        <tr>
                            <td><a class="CatalogActionLink" href="javascript:void(null)">Open</a></td>
                            <td><span class="CatalogActionLinkSeparator">&nbsp;</span>
                            </td>
                            <td><a class="CatalogActionLink" href="javascript:void(null)">Edit</a></td>
                            <td><span class="CatalogActionLinkSeparator">&nbsp;</span>
                            </td>
                            <td><a class="CatalogActionLink" href="javascript:void(null)" title="Click to see more actions of Top 5 Item Exception Types">More<img border="0" src="/analytics/res/s_FusionFX/uicomponents/obips.UberBar/dropdown_n.png" alt="Dropdown menu">
                            </a></td>
                        </tr>
                    </tbody>
                </table>
            </td>
        </tr>
    </tbody>
</table>

我可以使用以下方法找到标题

WebElement reportElement = driver.findElement(
                    By.xpath("//span[contains(translate(text(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'"
                            + reportName.toLowerCase() + "')]"));

最佳答案

试试这个:

//span[text()='Top 5 Item Exception Types']/ancestor::tr/following-sibling::tr/descendant::a[text()='Open']

关于java - 表中相关元素的 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50148810/

相关文章:

java - 显示 java.lang.NullPointerException 在 org.testng.internal.MethodInitationHelper.invokeDataProvider(MethodInitationHelper.java :150) in Testng

java - 如何检查带有类名的第二个元素并单击它(如果它存在于 Selenium Java 中)

node.js - 带有 UI 的 Docker 中的 Selenium 测试执行

java - 如何使用 Selenium Webdriver 以移动模式打开 Chrome 浏览器以在 JMeter 中进行负载测试?

java - 其他类能够访问对象类型的数组列表

java - 如何从 sbt 中发现定义类的库?

javascript - Webdriver.waitUntil 未按预期工作

python - 如何为新标签设置页面加载超时

java - 忽略记录第三方库的重复异常消息

java - ChromeDriver(Capabilities 能力) 已弃用