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 以来每个服务器都不鼓励使用 SSLv3。

phantom解决方法是调用--ssl-protocol=tlsv1

pJS <- phantom(extras = c('--ssl-protocol=tlsv1'))

时间问题

PhantomJS 经常发生的一件事是时间问题。与 Firefox 和 Chrome 等浏览器一起工作的代码与 PhantomJS 不同,因为 PhantomJS 太快了。

Sys.sleep您可以通过在不同呼叫之间进行呼叫来解决此问题remoteDriver

于 2015-01-30T08:42:08.550 回答