python - 通过 Selenium 和 Python 调用 webdriver.Remote("http://localhost:4444/wd/hub", webdriver.DesiredCapabilities.CHROME) 时出现 WebDriverException
问题描述
我很确定这会让人头晕目眩,但我已经按照我能找到的所有文档进行了操作,但我无法摆脱这个错误。我正在设置 Selenium Grid(在 Docker 中),并且只有在我不指定遥控器的情况下才能运行测试。这是代码
def setUp(self):
self.browser = webdriver.Remote("http://localhost:4444/wd/hub", webdriver.DesiredCapabilities.CHROME)
FWIW,这很好用,但在没有 command_executor 的网格环境中没有用:
def setUp(self):
self.browser = webdriver.Chrome()
根据多个来源,包括https://hackr.io/blog/complete-guide-selenium-webdriver,对 RemoteWebDriver 的调用应该是正确的。
这是错误:
ERROR: test_hackernews_search_for_selenium (__main__.HackerNewsSearchTest)
Traceback (most recent call last):
File "test.py", line 16, in setUp
self.browser = webdriver.Remote("http://localhost:4444/wd/hub", webdriver.DesiredCapabilities.CHROME)
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
WebDriverException: Message: None
解决方案
此错误消息...
ERROR: test_hackernews_search_for_selenium (__main__.HackerNewsSearchTest)
Traceback (most recent call last):
File "test.py", line 16, in setUp
self.browser = webdriver.Remote("http://localhost:4444/wd/hub", webdriver.DesiredCapabilities.CHROME)
.
WebDriverException: Message: None
...意味着客户端程序无法启动新的WebBrowsing 会话,即Chrome 浏览器会话。
您的主要问题是Selenium Grid Hub和Selenium Grid Node之间的连接。
解决方案
确保以下内容:
- Selenium Grid Hub已成功启动。
- Selenium Grid 节点在Selenium Grid Hub中成功启动和配置
推荐阅读
- c# - 如何使用页面控件将分页功能添加到 DevExpress GridView
- react-native - 如何用一个按钮做两个事件
- django - 无法将 Django 制作中的媒体文件上传到外部文件夹
- aws-lambda - AWS API Gateway:如何为我的用户生成 apiKey 并让他们将其包含在查询参数中?
- java - 可以将 ActorContext (getContext()) 传递到 Actor 外部以创建子 Actor 吗?
- linux - 子退出后如何防止页面错误?
- asp.net-core-2.0 - 如何将 IHttpContextAccessor 传递给 DotLiquid 的自定义标签
- javascript - 我需要将以下 CSV 数据转换为 javascript 数组
- python - 使用此代码求解二阶微分方程
- javascript - 如何在 React 中使用外部过滤器?(农业网格)