是否可以在 xpath 中使用 xpath?
Is it possible to use a xpath within a xpath?
我有一个 table 看起来像这样:
<table>
<thead>
<tr>
<th data-th-key="col1"> <span> Foo </span> </th>
<th data-th-key="col2"> <span> Bar </span> </th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div>
<input data-model-key="col1">
</div>
</td>
<td>
<div>
<input data-model-key="col2">
</div>
</td>
</tr>
</tbody>
</table>
要找到正确的输入元素,我必须知道 table 头部的数据键。有没有办法在第二个里面使用第一个xpath?
Xpath 一:
//table//thead//span[translate(normalize-space(.),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='foo']/parent::th/@data-th-key"
Xpath 二:
//table//tbody//tr//td//div//input[@data-model-key='col1']
所以我想用 Xpath 替换第二个中的 col1 值。
你可以写这样的表达式
//table//tbody//tr//td//div//input[@data-model-key = //table//thead//span[translate(normalize-space(.),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='foo']/parent::th/@data-th-key]
是的,这是可能且有意义的,并选择 data-model-key
等于 data-th-key
属性的输入(或输入)。
我有一个 table 看起来像这样:
<table>
<thead>
<tr>
<th data-th-key="col1"> <span> Foo </span> </th>
<th data-th-key="col2"> <span> Bar </span> </th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div>
<input data-model-key="col1">
</div>
</td>
<td>
<div>
<input data-model-key="col2">
</div>
</td>
</tr>
</tbody>
</table>
要找到正确的输入元素,我必须知道 table 头部的数据键。有没有办法在第二个里面使用第一个xpath?
Xpath 一:
//table//thead//span[translate(normalize-space(.),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='foo']/parent::th/@data-th-key"
Xpath 二:
//table//tbody//tr//td//div//input[@data-model-key='col1']
所以我想用 Xpath 替换第二个中的 col1 值。
你可以写这样的表达式
//table//tbody//tr//td//div//input[@data-model-key = //table//thead//span[translate(normalize-space(.),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='foo']/parent::th/@data-th-key]
是的,这是可能且有意义的,并选择 data-model-key
等于 data-th-key
属性的输入(或输入)。