Selenium Webdriver XPATH我可以找到包含某些文本的标签,但是我无法在Label标签上方获得Input标签复选框

时间:2015-10-06 16:05:49

标签: css selenium xpath selenium-webdriver

我有一个包含复选框列表的页面。我想单击具有指定文本的复选框。 例如。我想单击复选框,其名称为"使用ocr variants" 在HTML中,复选框位于Label标签上方。 在firebug中,我可以使用以下XPath找到label标签:

//div[@id="match_configuration_edit_match_tab_data_objects_fp_flags"]//label[contains(text(), "Use ocr variations")]

我想在输入标签上面输入1,其中包含复选框。 我试图使用祖先,但这不起作用

//div[@id="match_configuration_edit_match_tab_data_objects_fp_flags"]//label[contains(text(), "Use alias list to get variations")]/ancestor::input

我可以使用什么Xpath或CSS来访问复选框?

HTML是:

<div id="match_configuration_edit_match_tab_data_objects_fp_flags">
    <div class="gwt-Label matchruleheader">Gender and title flags</div>
        <span class="gwt-CheckBox" style="display: block;">
        <span class="gwt-CheckBox" style="display: block;">
        <span class="gwt-CheckBox" style="display: block;">
    <div class="gwt-Label matchruleheader">Name flags</div>
        <span class="gwt-CheckBox" style="display: block;">
        <span class="gwt-CheckBox" style="display: block;">
    <div class="gwt-Label matchruleheader">Other flags</div>
    <span class="gwt-CheckBox" style="display: block;">
    <span class="gwt-CheckBox" style="display: block;">
        <input id="gwt-uid-512" type="checkbox" value="on" tabindex="0" checked=""/>
        <label for="gwt-uid-512">Use alias list to get variations</label>
    </span>
    <span class="gwt-CheckBox" style="display: block;">
        <input id="gwt-uid-513" type="checkbox" value="on" tabindex="0" checked=""/>
        <label for="gwt-uid-513">Use ocr variations</label>
    </span>
</div>

注意:复选框的输入ID是动态值。我不能用那个。 输入id =&#34; gwt-uid-513&#34; 谢谢, 里亚兹

1 个答案:

答案 0 :(得分:1)

祖先用于父/授予父元素。作为&#39;输入&#39;您正在寻找同一级别的elemet,您可以使用preceding