为什么我不能在Laravel Dusk中使用body类选择器?

为什么我不能在Laravel Dusk中使用body类选择器?,laravel,laravel-5,laravel-5.5,laravel-dusk,laravel-dusk2,Laravel,Laravel 5,Laravel 5.5,Laravel Dusk,Laravel Dusk2,我使用的是Laravel5.5和Dusk2.0。我有下面的html <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> </head> <body class="my-body-class" id="my-body-div"> <div class="my-content-class" id="my-content-div">

我使用的是Laravel5.5和Dusk2.0。我有下面的html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
</head>
<body class="my-body-class" id="my-body-div">
    <div class="my-content-class" id="my-content-div">
        Content goes here.
    </div>
</body>
</html>

如果我取消注释使用主体类选择器的断言,测试将失败。为什么?

这是因为默认情况下前缀设置为
body

public function __construct($driver, $prefix = 'body')
{
    $this->driver = $driver;
    $this->prefix = trim($prefix);
}
Laravel\dash\ElementResolver
类中

如果确实需要更改(但可能没有意义),可以将以下方法添加到
Tests/testcase
类中:

protected function newBrowser($driver)
{
    return new \Laravel\Dusk\Browser($driver, new \Laravel\Dusk\ElementResolver($driver, ''));
}

这将覆盖默认浏览器并传递空前缀,而不是默认的
body
prefix

这是因为默认情况下prefix设置为
body

public function __construct($driver, $prefix = 'body')
{
    $this->driver = $driver;
    $this->prefix = trim($prefix);
}
Laravel\dash\ElementResolver
类中

如果确实需要更改(但可能没有意义),可以将以下方法添加到
Tests/testcase
类中:

protected function newBrowser($driver)
{
    return new \Laravel\Dusk\Browser($driver, new \Laravel\Dusk\ElementResolver($driver, ''));
}
这将覆盖默认浏览器并传递空前缀,而不是默认的
body
前缀