7

内部属性データベースに対して監査できるサプライヤ Web サイトからいくつかの属性データを抽出するクローラーを作成しようとしていますが、import.io は初めてです。たくさんのビデオを見ましたが、私の構文は正しいようですが、手動の xpath オーバーライドは属性値を返しません。次のサンプルhtmlコードがあります。

<table>
<tbody><tr class="oddRow">
<td class="label">&nbsp;Adhesive Type&lrm;</td><td>&nbsp;Epoxy&lrm;
</td>
</tr>
<tr>
<td class="label">&nbsp;Applications&lrm;</td><td>&nbsp;Hard Disk Drive Component Assembly&lrm;
</td>
</tr>
<tr class="oddRow">
<td class="label">&nbsp;Brand&lrm;</td><td>&nbsp;Scotch-Weld&lrm;
</td>
</tr>
<tr>
<td class="label">&nbsp;Capabilities&lrm;</td><td>&nbsp;Sustainability&lrm;
</td>
</tr>
<tr class="oddRow">
<td class="label">&nbsp;Color&lrm;</td><td>&nbsp;Clear Amber&lrm;
</td>

import.ioクローラーを介して「色」を取得するために、兄弟ステートメントに続くxpathを記述しようとしています。「色」を選択したときのxpathコードは次のとおりです。

//*[@id="attributeList"]/table/tbody/tr[5]/td[1]

私は使用しようとしました:

//*[@id="attributeList"]/table/tbody/tr/td[.="Color"]/following-sibling::td

ただし、テーブルから color 属性値を取得していません。奇数および偶数行クラスと関係があるかどうかはわかりませんか? HTML を見ると、論理的に理にかなっているように見えます。color は「Color」で、属性値は次の td ブラケットにあります。

4

1 に答える 1

7

td選択したノードのテキストには、"Color". です&nbsp;Color&lrm;。したがって、代わりに、テキストにstringが含まtdれるノードを選択できます。"Color"

'//*[@id="attributeList"]/table/tbody/tr/td[contains(text(), "Color")]/following-sibling::td/text()'
于 2015-06-05T19:04:04.713 に答える