如何在 docker 上运行“selenium==4.0.0b2.post1”远程驱动程序

问题描述

我目前正在尝试在端口 6900 的 docker-compose 上运行 Selenium Remote 驱动程序,版本 selenium==4.0.0b2.post1

我目前可以连接到 selenium grid,但我无法运行远程 webdriver。

我的 dockerfile 是:

# To execute this docker-compose yml file use `docker-compose -f docker-compose-v3.yml up`
# Add the `-d` flag at the end for detached execution
# To stop the execution,hit Ctrl+C,and then `docker-compose -f docker-compose-v3.yml down`
version: "3"
services:
  chrome:
    image: selenium/node-chrome:4.0.0-beta-3-prerelease-20210319
    volumes:
      - /dev/shm:/dev/shm
    depends_on:
      - selenium-hub
    environment:
      - JAVA_OPTS=-Dwebdriver.chrome.whitelistedIps=
      - SE_EVENT_BUS_HOST=selenium-hub
      - SE_EVENT_BUS_PUBLISH_PORT=4442
      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
    ports:
      - "6900:5900"

  selenium-hub:
    image: selenium/hub:4.0.0-beta-3-prerelease-20210319
    container_name: selenium-hub
    ports:
      - "4442:4442"
      - "4443:4443"
      - "4444:4444"
    environment:
      - JAVA_OPTS=-Dwebdriver.chrome.whitelistedIps=

我正在尝试使用以下代码连接到 Selenium: 重要提示:selenium 版本是 4.0.0b2.post1,我可以让它与 selenium 3.1 一起工作......但我需要一些 SE4 功能

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium import webdriver


driver = webdriver.Remote(
    command_executor='http://localhost:4444/wd/hub',desired_capabilities=DesiredCapabilities.CHROME
)

driver.get('http://www.google.com/')

请注意,我在 docker 控制台中得到的错误如下:

INFO [distributor.newSession] - Session created by the distributor. Id: e9616d2cad52fwerwefbab0c4b09f08,Caps: Capabilities {acceptInsecureCerts: false,browserName: chrome,browserVersion: 89.0.4389.90,chrome: {chromedriverVersion: 89.0.4389.23 (61b08ee2c5002...,userDataDir: /tmp/.com.google.Chrome.4fUoUu},goog:chromeOptions: {debuggerAddress: localhost:42915},networkConnectionEnabled: false,pageLoadStrategy: normal,platformName: linux,proxy: {},se:cdp: http://172.23.0.3:5555/sess...,setwindowRect: true,strictFileInteractability: false,timeouts: {implicit: 0,pageLoad: 300000,script: 30000},unhandledPromptBehavior: dismiss and notify,webauthn:extension:largeBlob: true,webauthn:virtualAuthenticators: true}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...