div中两个td元素的相同xpath

时间:2016-11-08 16:49:12

标签: html xpath

我试图点击Td元素中的第二项(不知道)。我可以使用它的xpath点击第一项(已知问题)。我怎么能用第二个选项做同样的事情。我收到了以下错误

无法找到具有xpath表达式的元素
//*[@id='group_tree']/div/div/div/div[1]/div/div[1]/table/tbody/tr/td[[contains(text(), 'Not Known')]
因为以下错误:

下面是我的代码:

driver.findElement(通过                     .xpath(“// * [@ id ='group_tree'] / div / div / div / div [1] / div / div [1] / table / tbody / tr / td [[contains(text(),'不知道')]“));

我的HTML是

<div style="display: block;">
    <div>
        <table cellspacing="0px" cellpadding="0px"
            style="background-color: transparent;">
            <tbody>
                <tr>
                    <td><img class="tree" src="images/s.gifx" alt=""
                        style="margin-left: 16px;"></td>
                    <td class="tree_spacer"><img alt="" src="images/nav_bult.gifx"></td>
                    <td title="" class="tree_item_text"><a
                        name="37fd8721a9729140d11a2c59127b17a6">Known issue</a><span></span></td>
                </tr>
            </tbody>
        </table>
        <div></div>
    </div>
    <div>
        <table cellspacing="0px" cellpadding="0px"
            style="background-color: transparent;">
            <tbody>
                <tr>
                    <td><img class="tree" src="images/s.gifx" alt=""
                        style="margin-left: 16px;"></td>
                    <td class="tree_spacer"><img alt="" src="images/nav_bult.gifx"></td>
                    <td title="" class="tree_item_text"><a
                        name="ea1e8721a9729140d11a2c59127b17fb">Not known</a><span></span></td>
                </tr>
            </tbody>
        </table>
        <div></div>
    </div>
</div>

我尝试按名称查找元素,通过xpath和contains但是一切都是throwng错误

请帮助

1 个答案:

答案 0 :(得分:0)

在做任何事情之前先检查一下您的HTML是否有效,我确认您的html错过了与现有</img>标记匹配的<img>标记。

现在,我假设您希望td元素Known issueNot known作为a元素的文本。

以下xpath将为您提供:

//td[@class='tree_item_text' and ./a/text()='Known issue']
//td[@class='tree_item_text' and ./a/text()='Not known']