0

HtmlAgilityPack に Chrome の解釈を XPath で使用させるにはどうすればよいですか?

たとえば、これらの 2 行のコードは Web ページ上のまったく同じものを指していますが、xpath は完全に異なります。

クロムの場合:

/html/body[@class=' hasGoogleVoiceExt']/div[@class='fjfe-bodywrapper']/div[@id='fjfe-real-body']/div[@id='fjfe-click-wrapper']/div[@id='appbar']/div[@class='elastic']/div[@class='appbar-center']/div[@class='appbar-snippet-primary']/span

ファイアフォックスの場合:

//*[@id='appbar']/div/div[2]/div[1]/span

Chrome を使用したいのですが、両方のクエリで null を受け取ります。

4

2 に答える 2

1

Html Agility Pack は、どのブラウザにもまったく依存しません。.NET XPATH 実装を使用します。完全に書き直さない限り、これを変更することはできません。

最初の HTML は動的コード (javascript、DHTML) によって変更されている可能性があるため、ブラウザに表示される HTML は、ダウンロードした URL の HTML とは大きく異なる場合があります。

既存の HTML または URL をお持ちの場合は、さらにお役に立てます。

于 2012-06-15T09:19:25.257 に答える
0

Chrome からコピーした XPATH を使用して見つけたものを次に示します。

doc.DocumentNode.SelectSingleNode( "//html//body//center//table[3]//tr//td//table//tr//td//table//tr//td//table[ 3]//tr[3]//td[3]//テーブル//tr//td//テーブル");

于 2013-11-28T16:12:53.487 に答える