XPath选择出现在具有不同文本的某个div之前的输入

  • 本文关键字:div 文本 选择 XPath html css xpath
  • 更新时间 :
  • 英文 :


我得到了一个页面,上面有复选框和标签的列表,看起来像这样:

x label1
x label2
x label3

作为html,它看起来像这样:

<div class="default-row">
<span class="row">
<input type="checkbox" value="on" id="gwt-uid-329" tabindex="0" >
<label for="gwt-uid-329"></label>
</span> 
<div class="row-label" title="out1">test1</div>
</div>
<div class="default-row">
<span class="row">
<input type="checkbox" value="on" id="gwt-uid-321" tabindex="0" >
<label for="gwt-uid-321"></label>
</span> 
<div class="row-label" title="out1">test2</div>
</div>
<div class="default-row">
<span class="row">
<input type="checkbox" value="on" id="gwt-uid-322" tabindex="0" >
<label for="gwt-uid-322"></label>
</span> 
<div class="row-label" title="out1">test3</div>
</div>

我想要实现的是能够选择带有特定标签的复选框。目前我有这样的东西:

//div[contains(text(), 'test1')]//preceding::input[@type='checkbox'][1]

但不知何故,它选择了我的第一个元素和最后一个元素test1'文本只是占位符,我的目标是为每个只有不同标签的复选框使用相同的xPath。有什么想法吗?

我不能更改/添加任何新的类名或id。

好吧,所以我只是犯了一个愚蠢的错误。答案是:

//div[contains(text(), 'text1')]//preceding-sibling::span//input[@type='checkbox']

我将离职。也许这会对某人有所帮助。干杯

最新更新