docker-selenium icon indicating copy to clipboard operation
docker-selenium copied to clipboard

[🐛 Bug]: selenium.common.exceptions.WebDriverException: Message: <empty>

Open tamis-laan opened this issue 1 year ago • 7 comments

What happened?

I'm trying to run the selenium helm chart and connecting using python:

hub:
  image:
    repository: selenium/hub
    tag: 4.22.0
  service:
    type: LoadBalancer

videoRecorder:
  enabled: true

chromeNode:
  replicas: 2
  image:
    repository: selenium/node-chrome
    tag: 4.22.0

firefoxNode:
  enabled: false

edgeNode:
  enabled: false

ingress:
  enabled: false

# Configure Chrome options for headless mode
chrome_options = Options()
# chrome_options.add_argument("--headless")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--window-size=1920x1080")
chrome_options.add_argument("--disable-infobars")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-notifications")
chrome_options.add_argument("--disable-popup-blocking")
chrome_options.add_argument("--disable-features=Notification")

# Allow microphone and webcam
chrome_options.add_experimental_option("prefs", {
    "profile.default_content_setting_values.media_stream_mic": 2,
    "profile.default_content_setting_values.media_stream_camera": 2,
    "profile.default_content_setting_values.geolocation": 2,
    "profile.default_content_setting_values.notifications": 2,
    "profile.default_content_setting_values.popups": 2,
    "profile.default_content_setting_values.automatic_downloads": 2
})

# Create a new instance of the Chrome driver
# driver = webdriver.Chrome(options=chrome_options)
driver = webdriver.Remote(
    command_executor="http://selenium-grid-selenium-hub.default.svc.cluster.local:4444/wd/hub",
    options=chrome_options
)

But I get the following error:

      > [test-6f444dfcc7-85wrl test] Traceback (most recent call last):
      > [test-6f444dfcc7-85wrl test]   File "/app/main.py", line 33, in <module>
      > [test-6f444dfcc7-85wrl test]     driver = webdriver.Remote(
      > [test-6f444dfcc7-85wrl test]              ^^^^^^^^^^^^^^^^^
      > [test-6f444dfcc7-85wrl test]   File "/usr/local/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 212, in __init__
      > [test-6f444dfcc7-85wrl test]     self.start_session(capabilities)
      > [test-6f444dfcc7-85wrl test]   File "/usr/local/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 299, in start_session
      > [test-6f444dfcc7-85wrl test]     response = self.execute(Command.NEW_SESSION, caps)["value"]
      > [test-6f444dfcc7-85wrl test]                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      > [test-6f444dfcc7-85wrl test]   File "/usr/local/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
      > [test-6f444dfcc7-85wrl test]     self.error_handler.check_response(response)
      > [test-6f444dfcc7-85wrl test]   File "/usr/local/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 193, in check_response
      > [test-6f444dfcc7-85wrl test]     raise exception_class(value)
      > [test-6f444dfcc7-85wrl test] selenium.common.exceptions.WebDriverException: Message:

The error message non descriptive as the it's empty.

Command used to start Selenium Grid with Docker (or Kubernetes)

#! /bin/bash

# Add docker-selenium helm repository
helm repo add docker-selenium https://www.selenium.dev/docker-selenium

# Make sure system is running properly
kubectl wait --for=condition=Ready pods --all --namespace=kube-system --timeout=300s

# Install basic grid latest version
helm upgrade --install selenium-grid docker-selenium/selenium-grid \
	-f values.yaml

Relevant log output

No logs are produced by selenium hub

Operating System

Minikube

Docker Selenium version (image tag)

4.22.0

Selenium Grid chart version (chart version)

No response

tamis-laan avatar Jun 22 '24 17:06 tamis-laan