使用xpath中的其他文本在页面中查找文本

时间:2014-08-22 08:48:21

标签: selenium xpath

如何在selenium中使用xpath中其他行中的其他文本中的其他文本在一行中查找某些文本中的某些文本,我不想通过html标记遍历,因为html模板可以动态更改,我也没有唯一ID。

下面是我的代码,突出显示的文字为问答文字: -

<div id="surveyquescontent">
    <table width="100%" cellspacing="0" cellpadding="0" border="0">
        <tbody>
            <tr>
                <td>
                    <span class="mrQuestionText" style="">**Have you chosen your own date for when your electric bill is due?**</span>
                </td>
            </tr>
            <tr>
                <td>
                    <span style="">
                        <span class="mrQuestionTable" style="display:block;margin-left: 1em;">
                            <span id="Cell.0.0" style="">
                                <label for="_Q1_C0">
                                    <span class="mrSingleText" style="">**Yes**</span>
                                </label>
                            </span>
                        </span>
                    </span>
                </td>
            </tr>
        </tbody>
    </table>
</div>

1 个答案:

答案 0 :(得分:0)

您可以尝试选择正确的<tr>并使用following-sibling::tr并继续挖掘到所需的<span>,例如:

//tr[.//span[@class='mrQuestionText']]
/following-sibling::tr[1]
//span[@class='mrSingleText']

在上面的示例中,我使用class属性值来获得正确的<tr>,如果必须,您可以轻松更改<span>中的文字,或者同时使用文本和类:

//tr[.//span[
              @class='mrQuestionText'
                and
              .='Have you chosen your own date for when your electric bill is due?'
            ]]
/following-sibling::tr[1]
//span[@class='mrSingleText']