ОБНОВЛЕНО : Я оставлю вопрос открытым, если кто-то может объяснить, что я делал неправильно.Я не устранил проблему, но добился результата после переключения с изображения «selenium-hub + chrome node» на «standalone chrome» в docker-compose.yaml
Я использую facebook/ php-webdriver для запуска теста Chrome с Selenium.Вот простой пример кода:
Я использую SeleniumHQ / docker-selenium для запуска Selenium.Так что docker-compose.yaml
похоже на:
...
selenium-hub:
container_name: selenium-hub
image: selenium/hub:latest
ports:
- "4444:4444"
chrome:
container_name: chrome
image: selenium/node-chrome:latest
volumes:
- /dev/shm:/dev/shm
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
- SCREEN_WIDTH=1280
- SCREEN_HEIGHT=800
- SCREEN_DEPTH=24
entrypoint: bash -c 'SE_OPTS="-host $$HOSTNAME" /opt/bin/entry_point.sh'
...
PHP-код:
$options = (new ChromeOptions())
->addArguments([
'--window-size=640x480',
]);
$capabilities = DesiredCapabilities::chrome();
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
$driver = RemoteWebDriver::create('http://selenium-hub:4444/wd/hub/', $capabilities, 5000);
$driver->get('chrome://version/');
header("Content-Type: image/jpeg");
echo $driver->takeScreenshot();
$driver->quit();
По некоторым причинам параметры в addArguments()
не имеют никакого влияния - результат всегда одинаковНеважно, что было установлено в методе addArguments()
.Это всегда что-то вроде этого
Что бы я ни поставил на addArguments()
, ничего не изменится.
Любые идеи приветствуются.
Информация об окружении:
- Версия php-webdriver: 1.7.1
- Версия PHP: 7.2.19
- Версия сервера Selenium: 3.141.59
- Операционная система: Alpine Linux
- Используется браузер + версия: Chrome 75.0.3770.90
- SeleniumHQ / docker-selenium: 3.141.59