Selenium 拉维尔黄昏&x2B;docker compose+;硒+;firefox:未定义的索引元素

Selenium 拉维尔黄昏&x2B;docker compose+;硒+;firefox:未定义的索引元素,selenium,firefox,docker-compose,laravel-dusk,Selenium,Firefox,Docker Compose,Laravel Dusk,我让docker用3个图像组成-webserver、db和selenium 我将其升级,然后执行到Web服务器并运行php artisan dusk 我的应用程序是一个简单的https页面,在几个div中返回Welcome。 但是我得到了ErrorException:Undefined index:ELEMENT Selenium图像:Selenium/standalone firefox test: ... $this->browse(function (Browser $browser

我让docker用3个图像组成-
webserver
db
selenium

我将其升级,然后执行到Web服务器并运行
php artisan dusk

我的应用程序是一个简单的https页面,在几个
div
中返回
Welcome
。 但是我得到了
ErrorException:Undefined index:ELEMENT

Selenium
图像:Selenium/standalone firefox

test:
...
$this->browse(function (Browser $browser) use ($user) {
  $browser
    ->visit('/home')
    ->assertSee('Welcome');
});


DuskTestCase.php
...
protected function driver() {
  return RemoteWebDriver::create(
    'http://selenium:4444/wd/hub', DesiredCapabilities::firefox()->setCapability(
      'acceptInsecureCerts', true
    )
  );
}

这是因为geckodriver和Selenium之间不兼容:

对于Firefox和Selenium,您需要向Selenium功能中添加
enablePassThrough=false

比如:

protected function driver() {
  return RemoteWebDriver::create(
    'http://selenium:4444/wd/hub', DesiredCapabilities::firefox()
        ->setCapability('acceptInsecureCerts', true)
        ->setCapability('enablePassThrough', false)
  );
}

这可能是因为geckodriver和Selenium之间的不相容性:

对于Firefox和Selenium,您需要向Selenium功能中添加
enablePassThrough=false

比如:

protected function driver() {
  return RemoteWebDriver::create(
    'http://selenium:4444/wd/hub', DesiredCapabilities::firefox()
        ->setCapability('acceptInsecureCerts', true)
        ->setCapability('enablePassThrough', false)
  );
}
也许应该这样做