2016-04-12 4 views
1

私はノードJSでウェブスクレーパーを作ろうとしています。私はロードブロッキングを打ちました。 ボタンをクリックする必要がありますが、私が間違っていないと、Nodeは実際にブラウザのようにWebページをレンダリングせず、セレクタやX-Pathを使用できません。ノードJSクリックボタンページの

セレクタまたはXパスを使用できない場合、どのように特定のボタンをクリックして値を「はい」にできますか?はいボタンだけに固有のIDはありません。

私は特定のWebページを解析したいのでこれを求めていますが、2つのボタンを押すように指示するページにリダイレクトされます。 「はい」を押すと、私が望むページに移動します。 「いいえ」を押すと、明らかに私が進むのを止めるでしょう。

JSDOMのようなものに頼らなくても、Nodeの境界内で何をしたいのですか?

<div class="buttons"> 
<button class="c-btn c-btn-primary" type="submit" name="bigbutton" value="no">no thank you</button> 
<button class="c-btn c-btn-primary" type="submit" name="bigbutton" value="yes">continue</button> 
</div> 

が、私はこのようなものを使用してみました:

は、ここで私が働いているHTMLの一部だ

document.getElementByID("selector").click() 

が、と返されました 'にReferenceError:ドキュメントが定義されていません'。

+0

[なぜnode.jsにネイティブDOMがないのですか?](http://stackoverflow.com/questions/6657216/why-doesnt-node-js-have-a-native-dom) –

+3

あなたは実際にウェブサーバー上の傷ついたコンテンツを扱うときに何も "クリック"することはできません。おそらくヘッドレスブラウザやボットがほしいと思うかもしれません。 – adeneo

+0

リダイレクトされたページのURLを事前に見つけてNodeで直接スクラップすることはできますか? –

答えて

1

Zombieを試しましたか?私は使用して、うまくいった!このlinkは、アクションの実行方法をすばやく明らかにするので非常に役立ちます。