3

私はWindows 7マシンで作業しています。RSelenium ライブラリから remoteDriver()$open() を実行し、ブラウザをバックグラウンドで実行する (つまり、表示しない) ことは可能ですか?

ありがとう

4

1 に答える 1

5

はい、可能です。のデフォルトのブラウザRSeleniumは Firefox です。ただし、それぞれのビネットで詳しく説明されてRSeleniumいるヘッドレスブラウジングもサポートしています。PhantomJS

PhanomJS一般に、 Windows 7で活用するために必要なのは、

  • PhantomJS をダウンロードし、システムのメニュー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コールの間にコールを配置することで解決できます。

于 2015-01-30T08:42:08.550 に答える