私はWindows 7マシンで作業しています。RSelenium ライブラリから remoteDriver()$open() を実行し、ブラウザをバックグラウンドで実行する (つまり、表示しない) ことは可能ですか?
ありがとう
はい、可能です。のデフォルトのブラウザRSeleniumは Firefox です。ただし、それぞれのビネットで詳しく説明されてRSeleniumいるヘッドレスブラウジングもサポートしています。PhantomJS
PhanomJS一般に、 Windows 7で活用するために必要なのは、
phantomjs.exeのユーザーまたはシステム PATH 変数への追加エントリとしてフォルダ パスを追加します(例: )注:それ自体はパス仕様の一部ではありません。Environment VariableC:\Program Files\phantomjs-1.9.7-windowsphantomjs.exeデフォルトのブラウジング:
checkForServer()
startServer()
remDrv <- remoteDriver()
remDrv$open()
...
remDrv$quit()
remDrv$closeServer()
ヘッドレス ブラウジング:
pJS <- phantom()
remDrv <- remoteDriver(browserName = 'phantomjs')
remDrv$open()
...
remDrv$close()
pJS$stop()
コマンドライン引数と POODLE
に渡すことができるコマンドライン引数に注意してくださいphantom。
たとえば、PhantomJS はデフォルトで SSLv3 を使用しますが、これは POODLE 以降、すべてのサーバーで推奨されていません。
回避策は、次のように呼び出すphantomこと--ssl-protocol=tlsv1です。
pJS <- phantom(extras = c('--ssl-protocol=tlsv1'))
タイミングの問題
PhantomJS でよく発生することの 1 つは、タイミングの問題です。PhantomJS は速すぎるため、Firefox や Chrome などのブラウザーで動作するコードは、PhantomJS では機能しません。
この問題Sys.sleepは、異なるremoteDriverコールの間にコールを配置することで解決できます。