更新:如果有人可以解释我做错了什么,我会留下这个问题。我没有解决这个问题,但我在从“selenium-hub + chrome node”切换到“standalone chrome”图像后取得了结果docker-compose.yaml
我正在使用facebook/php-webdriver使用 Selenium 运行 Chrome 测试。这是简单的代码示例:
我正在使用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();
由于某种原因, params inaddArguments()
没有任何影响 - 无论方法中设置什么,结果总是相同的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