-1

ページhttp://www.buddytv.com/trivia/game-of-thrones-trivia.aspxを Phantom.JS でスクレイピングしようとしています

コードは次のとおりです。

 search = page.evaluate(function() { 
     return  '<div class="question">' + $('#id60questionText').text() +  '</div>';
 });
 results = page.evaluate(function() { 
     return  $('#id78questionRegion').html();
 });
 answer = page.evaluate(function() { 
      $('a[href="javascript:___gid_10(0)"]').trigger("click");
     return  $('body').html();
 });

最初の 2 つの部分は問題なく実行されますが、最後の部分は問題ありません。基本的に、最初の回答をクリックして、それが完了したら表示されるページのコンテンツを返したいと思います(そして回答を選択しますが、ウェブサイトでの処理が速すぎて、どのセレクターにあるのかを確認できません)。とにかく、返された html には答えが含まれておらず、クリックを適切にトリガーしていないと推測しています。何かアドバイス ?

どうもありがとう、あなたはすべて素晴らしいです、

4

1 に答える 1

0

の jQuery ソースをtrigger見ると、

elem[type]();

残念ながらHTMLElement.click非標準であり、PhantomJS では利用できません。jQuery を使用しないもう 1 つの理由。PhantomJSを参照してください。要素をクリックします

PhantomJS はエラー メッセージを出力しませんでしたか? のようなものを見ると思っていたでしょうelem.click is not a function。それ以外の場合は、これを try/catch ブロックでラップしてconsole.out、エラーを 'ing してみてください。それでも問題が解決しない場合は、リモートでデバッグできます。「phantomjs リモートデバッグ」のグーグル。

于 2013-07-04T04:24:32.067 に答える