提问人:Jamie Bee 提问时间:9/22/2023 最后编辑:Jamie Bee 更新时间:9/25/2023 访问量:183
Selenium Webdriver.remote 在尝试使用 selenium grid 启动 chrome 会话时返回 SessionNotCreatedException
Selenium Webdriver.remote returns SessionNotCreatedException when trying to start a chrome session using selenium grid
问:
我使用带有 chrome v4.12.1 的 selenium 服务器 117 每次我运行我的 python 脚本来启动会话时,两分钟内没有任何反应,然后它超时并出现 http 500 错误和 SessionNotCreatedException
我在系统 A 上运行独立集线器,在系统 B 上运行脚本(指向系统 A 集线器)
我启动了中心如下 - java -jar selenium-server-4.12.1.jar standalone --selenium-manager true。
这是我的 Python 代码
import logging
import selenium
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.action_chains import ActionChains
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import StaleElementReferenceException
from selenium.common.exceptions import ElementClickInterceptedException
from selenium.common.exceptions import ElementNotInteractableException
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
#from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service
import random
import pytest
#import unittest
logging.basicConfig(level='DEBUG')
hub1_url = "http://172.16.25.86:4444/wd/hub"
chrome_options = webdriver.ChromeOptions()
chrome_options.set_capability("browserVersion", "117")
chrome_options.set_capability("platformName", "Windows 10")
driver = webdriver.Remote(
command_executor=hub1_url,
options=chrome_options)
driver.get("https://google.com")
driver.maximize_window()
driver.quit()
如果我运行此操作,则 5 分钟后会出现以下错误
Traceback (most recent call last):
File "C:\Users\Jamieb\Documents\ACC_AutoUsers\Setup.py", line 34, in <module>
driver = webdriver.Remote(
^^^^^^^^^^^^^^^^^
File "C:\Users\Jamieb\Documents\ACC_AutoUsers\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 205, in __init__
self.start_session(capabilities)
File "C:\Users\Jamieb\Documents\ACC_AutoUsers\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 289, in start_session
response = self.execute(Command.NEW_SESSION, caps)["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Jamieb\Documents\ACC_AutoUsers\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 344, in execute
self.error_handler.check_response(response)
File "C:\Users\Jamieb\Documents\ACC_AutoUsers\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Could not start a new session. New session request timed out
Host info: host: 'STNUC5', ip: '172.16.25.86'
Build info: version: '4.12.1', revision: '8e34639b11'
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_381'
Driver info: driver.version: unknown
Stacktrace:
at org.openqa.selenium.grid.sessionqueue.local.LocalNewSessionQueue.addToQueue (LocalNewSessionQueue.java:224)
at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.lambda$new$0 (NewSessionQueue.java:68)
at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle (Route.java:193)
at org.openqa.selenium.remote.http.Route.execute (Route.java:69)
at org.openqa.selenium.remote.http.Route$CombinedRoute.handle (Route.java:345)
at org.openqa.selenium.remote.http.Route.execute (Route.java:69)
at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.execute (NewSessionQueue.java:128)
at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute (SpanWrappedHttpHandler.java:91)
at org.openqa.selenium.remote.http.Filter$1.execute (Filter.java:63)
at org.openqa.selenium.remote.http.Route$CombinedRoute.handle (Route.java:345)
at org.openqa.selenium.remote.http.Route.execute (Route.java:69)
at org.openqa.selenium.grid.router.Router.execute (Router.java:87)
at org.openqa.selenium.grid.web.CheckOriginHeader.lambda$apply$0 (CheckOriginHeader.java:69)
at org.openqa.selenium.grid.web.CheckContentTypeHeader.lambda$apply$0 (CheckContentTypeHeader.java:75)
at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders.lambda$apply$0 (EnsureSpecCompliantResponseHeaders.java:34)
at org.openqa.selenium.remote.http.Filter$1.execute (Filter.java:63)
at org.openqa.selenium.remote.http.Route$CombinedRoute.handle (Route.java:345)
at org.openqa.selenium.remote.http.Route.execute (Route.java:69)
at org.openqa.selenium.remote.http.Route$NestedRoute.handle (Route.java:271)
at org.openqa.selenium.remote.http.Route.execute (Route.java:69)
at org.openqa.selenium.remote.http.Route$CombinedRoute.handle (Route.java:345)
at org.openqa.selenium.remote.http.Route.execute (Route.java:69)
at org.openqa.selenium.remote.http.Route$CombinedRoute.handle (Route.java:345)
at org.openqa.selenium.remote.http.Route.execute (Route.java:69)
at org.openqa.selenium.remote.http.Route$CombinedRoute.handle (Route.java:345)
at org.openqa.selenium.remote.http.Route.execute (Route.java:69)
at org.openqa.selenium.remote.http.Route$CombinedRoute.handle (Route.java:345)
at org.openqa.selenium.remote.http.Route.execute (Route.java:69)
at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0 (AddWebDriverSpecHeaders.java:35)
at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0 (ErrorFilter.java:44)
at org.openqa.selenium.remote.http.Filter$1.execute (Filter.java:63)
at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0 (ErrorFilter.java:44)
at org.openqa.selenium.remote.http.Filter$1.execute (Filter.java:63)
at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0 (SeleniumHandler.java:44)
at java.util.concurrent.Executors$RunnableAdapter.call (None:-1)
at java.util.concurrent.FutureTask.run (None:-1)
at java.util.concurrent.ThreadPoolExecutor.runWorker (None:-1)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (None:-1)
at java.lang.Thread.run (None:-1)
Process finished with exit code 1
会不会 selenium-manager 下载了错误的 Chromederiver?
答: 暂无答案
评论