Chrome Headless - Firefox

时间:2018-04-25 17:43:29

标签: phantomjs headless-browser google-chrome-headless firefox-headless

我正在为我的网站开发一个监控工具来记录数据。实际记录是在服务器上进行的。我的目标是根据用户在网站上停留的时间来计算统计数据。

主要问题:我使用了chrome headless命令--remote-debugging-port=80。我的原木长达10分钟。完美的工作。但如果离开工作会有多长时间?是否有默认超时?如果是,我该如何更改?如果我想在页面加载完成后30分钟运行它?

我试图在firefox上做同样的事情(尝试使用PhantomJS,但它没有正确加载页面,即使useragent设置为firefox )但firefox只是抛出一个银行页面,当我试图启动无头模式。我使用了" firefox -headless"并尝试捕获屏幕截图。它只是退出我当前打开的firefox选项卡而没有捕获任何图像。任何的想法? 使用firefox量具59.0。我不想使用硒。

PhantomJS解决方案也很棒。目前我只想收集日志。因此,它只需要在页面上运行所有javascript(jquery)代码,然后使用ajax发送数据。我尝试了page.onLoadFinished然后使用了等待函数,使其在页面加载后的确切时间内停留在页面上。

1 个答案:

答案 0 :(得分:1)

由于没有人回答,我会在更多的研究和逻辑思考之后尝试回答我自己的问题。

主要问题:似乎没有超时但是如果需要可以使用--timeout X。即使它不完美,因为如果页面完全加载,它会独立运行。

至于firefox,它的马车。 -new-instance(在你已经使用firefox时无法运行)无效,-no-remote没有帮助。 Firefox仅在仅运行一个实例时才起作用。所以,如果它是您正在使用的PC,并且您也想运行测试,那么Firefox不适合您。只有当没有其他firefox实例运行时,无头运行,而chrome运行正常。

即使尝试了多种解决方案,PhantomJS也无法运作。

最佳解决方案?使用铬。需要携带吗?使用铬并使用无头。或者写你的软件使用基于铬的cefsharp。所有库的浏览器大约为120-200MB。对于便携式而言非常重要但是做它的工作。与便携式铬或铬相同。 CefSharp有权将您喜欢的任何内容集成到浏览器中,因为它是...浏览器。