Selenium IDE / Xpath - 当另一个给定元素不存在时,如何在表格单元格中选择一个元素?

时间:2016-11-15 13:16:15

标签: python selenium xpath

这是我的第一个大型测试自动化项目和第一个SO帖子,所以请原谅。

我正在使用Selenium IDE来测试应用程序。我有一个包含几个不同tds的表格行,如下所示:

<tr>
    <!--Table cell I DO NOT want to select-->
    <td class="inline-edit">
        <a class="edit" href="#" onclick="someFunction();">
            <i class="fa fa-pencil"></i>
        </a>
        <br>

        <a href="Some_link_i_need_to_not_select">TS1</a>

        <sup class="r_f3">P</sup>
        (11/11-11/30)
        <br>
    </td>

    <!--Table cell I want to select-->
    <td class="inline-edit">
        <a class="edit" href="#" onclick="someFunction();">
        <br>
    </td>
</tr>

我要做的是选择“编辑”类的链接,但前提是它所在的td不包含其他链接或日期文本。我的想法是编写一个xpath,但我无法用实际定位元素所需的条件编写一个(很可能是由于缺乏知识)。

一旦我将测试套件导出为Python代码,我应该能够编写一些逻辑来查找元素,但是现在我需要让它在Selenium IDE中运行。仅当第二个链接(带有TS1文本)不存在时,选择第一个链接的可靠方法是什么?

提前致谢,如果我以任何特定的方式编辑我的问题,请告诉我。正如我所提到的,这是我的第一个。

1 个答案:

答案 0 :(得分:0)

以下XPath表达式

//tr/td[count(.//a) = 1]//a[@class='edit']

将在仅包含一个a元素的所有td元素中选择 edit 类的所有a个元素。应用于样本文档时,结果为:

<a class="edit" href="#" onclick="someFunction();"/>