XPath: Get previous item, filtering by class
我有这个HTML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <img style="display:none" class="help-size-img-colorbox" data-subgroup="1_Man" src="Man.gif"> Jogging Tutorial <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> <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> |
将Selenium与C#一起使用,并从名称为
的输入元素开始
ctl00$CthBody$sizelist$TxtSize_41
我希望XPath表达式获取文本" Jogging"。谢谢。
如果上下文节点是
1 | (preceding::div[@class='subgroup-description'])[1] |
或者您可以使用:
1 | ancestor::div[1]/preceding-sibling::div[1]/div[@class='subgroup-description'] |