0

更新:如果有人可以解释我做错了什么,我会留下这个问题。我没有解决这个问题,但我在从“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
4

2 回答 2

0

我在 Java Selenium 测试中遇到了同样的问题。几个小时后,我想通了,为什么没有参数传递给 chrome。您可以尝试传递任何参数(“aaaaa=bbbbb”,...),但不传递任何参数。

解决方案是升级 webdriver(不是 chromedriver)。在我的 Java 案例中,更新 Maven 的 POM 文件中所有“org.seleniumhq.selenium”依赖项的版本号。

于 2020-02-20T09:50:03.590 回答
0

感谢作曲家更新帮助!在此之前,我修复了 composer.json 文件以获得超过 1.8 的版本 Спасибо помогло обновление 作曲家更新!Перед эти исправил в файле composer.json на получение версии более 1.8

{
    "require": {
        "php-webdriver/webdriver": ">1.8"
    }
}

Установилась версия 1.11

于 2021-05-26T04:22:26.103 回答