如果我使用 following-sibling:: 则无法通过 XPath 找到元素
Unable to find element by XPath if I use following-sibling::
我正在使用以下 XPath 来定位我的元素:
//tbody/*[contains(.,'abcabc')]/following-sibling::div[1]/a[@class="editbtn"]
//tbody/*[contains(.,'abcabc')]
为我获取了到目前为止的元素。
但是,当我在那之后使用 /following-sibling::div[1]/a[@class="editbtn"]
时,
甚至 /following-sibling::div[1]
,我得到:
Unable to locate element:
我的 HTML 看起来像:
<tbody>
<tr>
<td>
<div>
<a href="#!/service/1/policies" data-id="1">abcabc</a>
<div class="pull-right">
<a class="editbtn" title="Edit" href="href1" data-id="1">
<i class="icon-edit"/>
</a>
<a class="deletebtn" title="Delete" href="javascript:void(0);" data-id="1">
<i class="icon-trash"/>
</a>
</div>
</div>
</td>
</tr>
</tbody>
当您寻找 //tbody/*[contains(.,'abcabc')]
时,您 select 并不像您认为的那样 select。
您认为您正在 select 包含 'abcabc' 的 a
元素,但实际上您 select 正在 tbody
本身,因为它的字符串值还包含 'abcabc'。 tbody
元素没有后续兄弟元素,因此您什么也得不到。
要 select 在您的示例中 a
之后的 div
,请指定 //a
而不是使用 *
来匹配任何元素:
//tbody//a[contains(.,'abcabc')]/following-sibling::div[1]
这将解决您的 following-sibling
问题和 select class="pull-right"
div
abcabc
a
元素之后的问题。
我正在使用以下 XPath 来定位我的元素:
//tbody/*[contains(.,'abcabc')]/following-sibling::div[1]/a[@class="editbtn"]
//tbody/*[contains(.,'abcabc')]
为我获取了到目前为止的元素。
但是,当我在那之后使用 /following-sibling::div[1]/a[@class="editbtn"]
时,
甚至 /following-sibling::div[1]
,我得到:
Unable to locate element:
我的 HTML 看起来像:
<tbody>
<tr>
<td>
<div>
<a href="#!/service/1/policies" data-id="1">abcabc</a>
<div class="pull-right">
<a class="editbtn" title="Edit" href="href1" data-id="1">
<i class="icon-edit"/>
</a>
<a class="deletebtn" title="Delete" href="javascript:void(0);" data-id="1">
<i class="icon-trash"/>
</a>
</div>
</div>
</td>
</tr>
</tbody>
当您寻找 //tbody/*[contains(.,'abcabc')]
时,您 select 并不像您认为的那样 select。
您认为您正在 select 包含 'abcabc' 的 a
元素,但实际上您 select 正在 tbody
本身,因为它的字符串值还包含 'abcabc'。 tbody
元素没有后续兄弟元素,因此您什么也得不到。
要 select 在您的示例中 a
之后的 div
,请指定 //a
而不是使用 *
来匹配任何元素:
//tbody//a[contains(.,'abcabc')]/following-sibling::div[1]
这将解决您的 following-sibling
问题和 select class="pull-right"
div
abcabc
a
元素之后的问题。