XPath:获取上一个项目,按类过滤

时间:2016-02-27 19:03:39

标签: selenium xpath

我有这个HTML:

<div class="DivHeaderSizes" data-subgroup="1">
    <img style="display:none" class="help-size-img-colorbox" data-subgroup="1_Man" src="Man.gif">
        <div class="subgroup-description">Jogging</div>
        <div class="help-size-link cboxElement" data-subgroup="1_Man">Tutorial</div>
</div>
    <div style="float: left;" class="DivSizeElement">
        <table data-size="41" class="SizeElement" style="display: none;">
            <tbody>
                <tr>
                    <td class="td-label-size">
                        <span class="label-size" data-size="41">41</span>
                    </td>
                    <td class="td-label-textbox">
                        <input name="ctl00$CthBody$sizelist$TxtSize_41" type="text" maxlength="4" id="CthBody_sizelist_TxtSize_41" class="txt-Size" data-price="19.50" data-size="41" data-available="0" data-subgroup="1" style="width:30px;">
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>
        <div style="float: left;" class="DivSizeElement">
            <table data-size="42" class="SizeElement" style="display: none;">
                <tbody>
                    <tr>
                        <td class="td-label-size">
                            <span class="label-size" data-size="42">42</span>
                        </td>
                        <td class="td-label-textbox">
                            <input name="ctl00$CthBody$sizelist$TxtSize_S" type="text" maxlength="4" id="CthBody_sizelist_TxtSize_S" class="txt-Size" data-price="19.50" data-size="42" data-available="0" data-subgroup="1" style="width:30px;">
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>

将Selenium与C#一起使用,并从名为

的输入元素开始
  

ctl00 $ $ CthBody $ SizeList的TxtSize_41

我希望XPath表达式获取文本&#34;慢跑&#34;。感谢。

1 个答案:

答案 0 :(得分:0)

如果上下文节点为input[@name='ctl00$CthBody$sizelist$TxtSize_41'],则以下XPath将选择包含&#34; Jogging&#34;的div:

(preceding::div[@class='subgroup-description'])[1]

或者您可以使用:

ancestor::div[1]/preceding-sibling::div[1]/div[@class='subgroup-description']