如何使用 duncan3dc/dusk 库截屏?
How can I take a screenshot using duncan3dc/dusk library?
我正在使用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): failed to open stream: No such file
or directory
我觉得没有文件夹,所以报错,我应该在项目文件夹的什么位置创建文件夹?
根据版本 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
我正在使用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): failed to open stream: No such file or directory
我觉得没有文件夹,所以报错,我应该在项目文件夹的什么位置创建文件夹?
根据版本 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