[英]Can browser called from RSelenium run in the backround
我正在使用Windows 7机器。 是否可以从RSelenium库运行remoteDriver()$ open()并让浏览器在后台运行(即不可见)。
谢谢
是的,这是可能的。 RSelenium
的默认浏览器是Firefox。 然而, RSelenium
甚至支持使用PhantomJS
进行无头浏览, PhantomJS
在相应的插图中详细描述。
通常,为了在Windows 7下利用PhanomJS
,您只需要
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.