Xpath如何从上面的节点获取值

时间:2015-09-16 13:30:51

标签: selenium xpath selenium-webdriver webdriver

我有以下html结构。输入id值是动态的。例如。 GWT-UID-150 我正在尝试制作一个Xpath来获得标有“逗号”的单选按钮,这样我就可以点击它了。

<table class="gwt-DisclosurePanel gwt-DisclosurePanel-open" cellspacing="0" cellpadding="0">
<tbody>
    <tr>
    <tr>
        <td align="left" style="vertical-align: top;">
            <div style="padding: 0px; overflow: hidden;" aria-hidden="false">
                <div class="content" aria-hidden="false">
                    <span class="gwt-RadioButton block">
                        <input id="gwt-uid-150" type="radio" name="delimiter" value="on" tabindex="0" checked=""/>
                        <label for="gwt-uid-150">Comma</label>
                    </span>
                    <span class="gwt-RadioButton block">
                    <span class="gwt-RadioButton inline marginright">
                    <input class="gwt-TextBox" type="text" disabled="" size="1" maxlength="1"/>
                </div>
            </div>
        </td>
    </tr>
</tbody>
</table>

如果我使用以下Xpath,我可以获得标签

//label[contains(text(), "Comma")]

我想得到它上面的节点,这是radio类型的输入id,因为这是单选按钮。

我尝试使用祖先::

//label[contains(text(), "Comma")]/ancestor::

我该怎么办?

谢谢, 里亚兹

1 个答案:

答案 0 :(得分:1)

是的,通过标签获取它是一种很好的方法,使用preceding-sibling

//label[contains(., "Comma")]/preceding-sibling::input