@progomg123

Как получить дом дерево через Laravel Dusk на VPS?

Всем доброго дня!
Возникла необходимость получить страницу сайта внутри самой бизнес-логики, а не внутри тестов, как описано в документации.

Предположим, запрос приходит на контроллер, где я вызываю следующее:

class MainController extends Controller
{
    public function index(Request $request)
    {
        $options = (new ChromeOptions)->addArguments(collect([
            isset($_SERVER['DUSK_START_MAXIMIZED']) ||
            isset($_ENV['DUSK_START_MAXIMIZED']) ? '--start-maximized' : '--window-size=1920,1080',
        ])->unless(isset($_SERVER['DUSK_HEADLESS_DISABLED']) ||
            isset($_ENV['DUSK_HEADLESS_DISABLED']), function (Collection $items) {
            return $items->merge([
                '--disable-gpu',
                '--headless=new',
            ]);
        })->all());

        $driver = RemoteWebDriver::create(
            $_ENV['DUSK_DRIVER_URL'] ?? 'http://localhost:9515',
            DesiredCapabilities::chrome()->setCapability(
                ChromeOptions::CAPABILITY, $options // тут ошибка выделяется
            )
        );

        $browser = new Browser($driver);
        var_dump($browser->visit('тут ссылка'));

        //return view('main');
    }
}


Получаю следующую ошибку:
Curl error thrown for http POST to /session with params: {"capabilities":{"firstMatch":[{"browserName":"chrome","goog:chromeOptions":{"args":["--window-size=1920,1080","--disable-gpu","--headless=new"]}}]},"desiredCapabilities":{"browserName":"chrome","platform":"ANY","chromeOptions":{"args":["--window-size=1920,1080","--disable-gpu","--headless=new"]}}} Failed to connect to localhost port 9515: Connection refused


Прав хватает:
chmod -R 0755 vendor/laravel/dusk/bin/


Вывод команды:
./vendor/laravel/dusk/bin/chromedriver-linux

Starting ChromeDriver 111.0.5563.64 (c710e93d5b63b7095afe8c2c17df34408078439d-refs/branch-heads/5563@{#995}) on p
ort 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-conside... for suggestions on keeping ChromeDriver safe
.
ChromeDriver was started successfully.

Версии драйвера и самого chromium совпадают
chromium-browser --version

Chromium 111.0.5563.64 snap

php artisan dusk:chrome-driver --detect

ChromeDriver binary successfully installed for version 111.0.5563.64.

Homebrew перестанавливал:
php vendor/bin/homestead make

Homestead Installed!

Также перед запросом на приложение выполняю:
Xvfb :0 -screen 0 1280x960x24 &


Просмотр что на портах:
ps -aux | grep 9515

root 1566505 0.0 0.0 9364 2204 pts/1 S+ 02:04 0:00 grep --color=auto 9515

Только вот не могу найти этот порт на вывод команды:
ss -lt


Помогите, пожалуйста, узнать в чем может быть проблема
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы