2

我正在使用duncan3dclaravel中的模块,从默认示例中成功导入文本但我不知道如何截图,

我刚刚使用 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):打开流失败:没有这样的文件或目录

我认为没有文件夹,所以我收到错误,我应该在项目文件夹中的哪里创建文件夹?

4

1 回答 1

1

根据版本的更改日志0.8.0,您可以将完全限定的路径传递给screenshot方法。所以这样做会起作用(你应该看到ddd.png在 php 文件附近创建的文件):

$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
于 2018-07-31T07:07:10.540 回答