我正在使用无头浏览器(phantomjs)与 Mink 一起在我的网站上进行一些功能测试。
现在在此设置中,无法定期下载文件,例如:单击链接。因此,我必须从链接或按钮中提取网址,然后手动下载该文件。
正如我刚才所述,下载时没有链接( ),但是表单中的按钮(例如:在表单中输入报表数据,并在提交时收到报告文件。)
所以我需要做的是 模拟 点击链接或按钮,然后提取发送的请求的数据,并使用该数据手动下载文件。
有没有办法做到这一点?
注意:我正在使用guzzle
来实际下载文件。
答案 0 :(得分:1)
您可以尝试这样的事情:
public function getElementHref($element)
{
/* @var FeatureContext $this */
$function = "(function(){
//Javascript method to get the href.
})()";
try {
return $this->featureContext->getSession()->evaluateScript($function);
} catch (Exception $e) {
throw new Exception('Element not found');
}
}
您可以在javascript中找到一种方法:How to get anchor text/href on click using jQuery?
然后使用与file_get_contents一起返回的URL(取决于文件类型)以及它。