繁体   English   中英

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

[英]Can browser called from RSelenium run in the backround

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

谢谢

是的,这是可能的。 RSelenium的默认浏览器是Firefox。 然而, RSelenium甚至支持使用PhantomJS进行无头浏览, PhantomJS相应的插图中详细描述。

通常,为了在Windows 7下利用PhanomJS ,您只需要

  • 下载PhantomJS并将文件夹路径添加到phantomjs.exe作为系统Environment Variable菜单中用户或系统PATH变量的附加条目(例如C:\\Program Files\\phantomjs-1.9.7-windows注意: phantomjs.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以来,每个服务器都不鼓励这样做。

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

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

时间问题

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

您可以通过在不同的remoteDriver调用之间放置Sys.sleep调用来解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM