可以在后台运行从Selenium调用的浏览器

时间:2015-01-30 08:28:05

标签: r rselenium

我正在使用Windows 7机器。是否可以从RSelenium库运行remoteDriver()$ open()并让浏览器在后台运行(即不可见)。

由于

1 个答案:

答案 0 :(得分:5)

是的,这是可能的。 RSelenium的默认浏览器是Firefox。但是,RSelenium甚至支持使用PhantomJS进行无头浏览,PhanomJS详细介绍了phantomjs.exe

通常,要在Windows 7下利用Environment Variable,您只需要

  • respective vignette并将C:\Program Files\phantomjs-1.9.7-windows的文件夹路径添加为系统phantomjs.exe菜单中用户或系统PATH变量的附加条目(例如checkForServer() startServer() remDrv <- remoteDriver() remDrv$open() ... remDrv$quit() remDrv$closeServer() 注意:pJS <- phantom() remDrv <- remoteDriver(browserName = 'phantomjs') remDrv$open() ... remDrv$close() pJS$stop() 本身不是路径规范的一部分。
  • 在代码的开头和结尾替换代码段,如下所述

默认浏览:

phantom

无头浏览:

phantom

其他建议

命令行参数和POODLE

注意download PhantomJS,您可以传递给--ssl-protocol=tlsv1

例如,PhantomJS默认使用SSLv3,自POODLE以来,每个服务器都不鼓励这样做。

解决方法是使用pJS <- phantom(extras = c('--ssl-protocol=tlsv1'))

致电Sys.sleep
remoteDriver

时间问题

PhantomJS经常发生的一件事是计时问题。适用于Firefox和Chrome等浏览器的代码会破坏PhantomJS,因为PhantomJS太快了。

您可以在不同的{{1}}来电之间拨打{{1}}来解决此问题。