私はMechanizeを使用していますが、Mechanizeがそれを行えない場合はNokogiriを利用できます。JSがDOMを変更した後、どうやって何かを傷つけるのですか?
すべてのスクリプトがロードされた後に、あらかじめページをスクラブしたいと思います。
どうすればよいですか?
私はMechanizeを使用していますが、Mechanizeがそれを行えない場合はNokogiriを利用できます。JSがDOMを変更した後、どうやって何かを傷つけるのですか?
すべてのスクリプトがロードされた後に、あらかじめページをスクラブしたいと思います。
どうすればよいですか?
機械化やノコギリについては何も知らないので、具体的にはコメントできません。しかし、JavaScriptが変更された後にJavaScriptを取得する問題は、より多くのJavaScriptでのみ解決できると私は考えています。新しく生成されたHTMLを取得するには、document要素の.innerHTMLを取得する必要があります。これはページにjsを注入する必要があるため、扱いにくいことがあります。
私がこれを達成するために知っている唯一の方法は、FireFoxプラグインを書くことです。あなたのページではないにもかかわらず、プラグインを使用すると、ページ上でJavaScriptを実行することができます。申し訳ありませんが私はより多くのヘルプではない、私はこれが正しい道にあなたを置くのに役立つことを願っています。
あなたは、プラグインに興味があるなら、これは開始する一つの場所は次のとおりです。http://anthonystechblog.wordpress.com/category/internet/firefox/
あなた自身のプラグインをゼロから動かす代わりに、Greasemonkeyがおそらくそれを行うことができます。 – FatalError
watir-webdriverとcapybara-webkitに加えて、celerityはjrubyのみですが、良いオプションです。
私は良いオプションは、鋸山、ワチール、およびPhantomJsと、このようなものだと思います:
b = Watir::Browser.new(:phantomjs)
b.goto URL
doc = Nokogiri::HTML(b.html)
結果のドキュメントが時にスクリプトの後からとなります読み込まれました。また、ブラウザを読み込む必要がないため、ファントムがうまくいきます。
JavaScriptが有効になっているブラウザを自動化して、ウィンドウが表示されないようにするには、(capybara-webkit)[https://github.com/thoughtbot/capybara-webkit]や(PhantomJS)[http: //phantomjs.org/](他にもあります)。 – echristopherson
@echristophersonありがとう;それらはそれぞれ[capybara-webkit](https://github.com/thoughtbot/capybara-webkit)と[PhantomJS](http://phantomjs.org/)です(固定マークアップリンク)。 – Phrogz