如何使用浏览器中的代码获取头请求(无头或无头)

时间:2018-01-25 16:36:19

标签: php selenium selenium-webdriver phantomjs codeception

这个问题可以重复,但我找不到任何明确的答案。

我正在使用Codecepting框架与crhome驱动程序和selenium独立服务器。

我想获取特定网址的所有标头请求。

请检查图像enter image description here

我找到了一个使用phantomjs的解决方案,如下面的代码所示:

var page = require('webpage').create();

page.onResourceRequested = function(request) {

  console.log('Request ' + JSON.stringify(request, undefined, 4));
};

page.onResourceReceived = function(response) {

  console.log('Receive ' + JSON.stringify(response, undefined, 4));
};

page.open(Url);

但是,我只需要使用Codeception或PHP而不使用phantomjs

我找到了一个名为MobProxy的东西: https://github.com/edno/codeception-browsermob

但是我尝试安装它,但我不确定我的步骤是否正确并且它不起作用。

可以请任何人向我提供明确的步骤来从浏览器获取所有标头请求并使用Codeception或PHP将它们保存到文件中吗?

1 个答案:

答案 0 :(得分:0)

嗨,对于有趣的人,我找到了这样的解决方案:

$I = new AcceptanceTester($scenario);

$I->amOnUrl(URL);
$w=$I->executeJS('return window.performance.getEntries();');

foreach ($w as $itme=>$value)
{
    echo($value['name']."\n";

}