我正在使用laravel中的duncan3dc
模块,已成功从默认示例中导入文本,但是我不知道如何截屏,
我刚刚使用Composer安装了此模块。
$ composer requires duncan3dc/dusk.
这是否意味着该模块所需的所有内容都会自动安装?
还是我需要其他东西来截屏?
下面是我的控制器代码
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use duncan3dc\Laravel\Dusk;
class TestController extends Controller
{
public function test()
{
$dusk = new Dusk;
$dusk->visit("http://example.com");
$dusk->screenshot("ddd");
echo $dusk->element("h1")->getText() . "\n";
}
}
运行上面的代码时,出现此错误:
file_put_contents(/tmp/ddd.png):打开流失败:没有这样的文件 或目录
我认为没有文件夹,因此出现错误,我应该在项目文件夹中的哪个位置创建文件夹?
答案 0 :(得分:1)
根据0.8.0
版的changelog,您可以将完全限定的路径传递给screenshot
方法。这样就可以了(您应该在php文件附近看到文件ddd.png
创建了):
$dusk = new Dusk;
$dusk->visit("http://example.com");
$dusk->screenshot("./ddd.png");
echo $dusk->element("h1")->getText() . "\n";
您还可以传递绝对路径:
$dusk->screenshot("C:\windows\temp\ddd.png"); // if you are using windows
或
$dusk->screenshot("/tmp/ddd.png"); // if you are using macos/linux