td
これに似たテーブル内の特定の要素を見つけるために XPath を使用するように Perl をコーディングしています。
<table>
<tr>
<td>...</td>
<td><font color="white" face="verdana, Helvetica, Arial" size="2">Showing <b>1</b>-<b>100</b> of <b>200</b> total</font></td>
<td>...</td>
<td>...</td>
</tr>
</table>
私が欲しいのは、 string を含むノードをtd
持つ要素を見つけることです。font/text()
Showing
マッチcontains(., "Showing")
直接比較はうまくいきます:
//td[font/text()="Showing "]
contains()
しかし、一致がより柔軟になるように、XPath 関数を使用したいと考えています。
私が試してみました
//td[contains(font/text(), "Showing ")]
しかし、これはエラーを発生させます
XPath failed due to: A sequence of more than one item is not allowed as the first argument of contains()
そして、私は自分が望むものを達成することができました
//td[font/text()[contains(., "Showing")]]
しかし、これは非常に醜いので、もっと簡潔なものを望んでいます。誰かが私のためにこれを改善してください。あるいは、これが最善かつ最も簡潔な方法であることを確認してください。