【问题标题】:Selenium php-webdriver ignores all the arguments and extensionsSelenium php-webdriver 忽略所有参数和扩展
【发布时间】:2021-05-26 12:22:26
【问题描述】:

已更新:如果有人可以解释我做错了什么,我会留下这个问题。我没有解决这个问题,但是在docker-compose.yaml中从“selenium-hub + chrome node”切换到“standalone chrome”图像后我取得了结果@


我正在使用 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();

由于某种原因,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

【问题讨论】:

    标签: php selenium facebook-php-webdriver


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 请翻译成英文
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-23
      • 2016-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-12
      • 1970-01-01
      相关资源
      最近更新 更多