2012-03-07 15 views
0

Webページからアイテムをキャプチャするツールを探しています。まず私は、XPathファインダーFirefoxのアドオンを使用しているが、時にはそれは、スキーマ(XPath 2.0の)とXPathを生成したので、以下完全なxpathを持つHTMLアジリティパック

は、グーグルの検索ボタン

html/body/div[2]/div[1]/div[1]/div[2]/div[2]/div/form/div[1]/button[1] 

ためfirepath(Firefoxの)で生成された絶対のxpathでは適していません試してみると

doc.DocumentNode.SelectSingleNode("html/body/div[2]/div[1]/div[1]/div[2]/div[2]/div/form/div[1]/button[1]").InnerText; 

null参照例外があります。

だから私は火道も使えません。

私は、HTMLアジリティパックで動作するツールが必要です。または、上記の理由が働かないことを知る必要があります。

+1

HTMLファイルの構造を見ずに、答えを出すのは難しいです。 '/'を使ってXPath宣言を開始して、それを根本的に根こそぎさせてみてください。また、 'button'要素は_really_に' InnerText'を含んでいますか? – Oded

答えて

0

FirePathを使用している間、私は絶対XPATHの生成を無効にしたときに良い結果を得ました。 あなたのケースで生成されたXPathは

.//*[@id='gbqfb'] 

あるしかし、私は以下のようなXPathクエリ何か書くことができます:あなたのXPathクエリが機能しない理由

//button[@name='btnG'] 

わからないのが、以下、私が削除時に動作するようですformタグ。

doc.DocumentNode.SelectSingleNode("html/body/div[2]/div[1]/div[1]/div[2]/div[2]/div/div[1]/button[1]").InnerText; 
関連する問題