是否可以在 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 属性的输入(或输入)。