提问人:Jun 提问时间:11/15/2023 最后编辑:Jun 更新时间:11/16/2023 访问量:36
如何访问在 EC2 实例上运行的 Selenium Hub?[已结束]
How can i access Selenium Hub that is running on the EC2 Instance? [closed]
问:
闭。这个问题与编程或软件开发无关。它目前不接受答案。
这个问题似乎不是关于特定的编程问题、软件算法或程序员主要使用的软件工具。如果您认为该问题在另一个 Stack Exchange 站点上是主题,您可以发表评论以解释该问题可能在哪里得到回答。
8天前关闭。
目的
我的目的是使用 Python 的 Webdriver.remote 访问 selenium hub。
我做了什么
- 我创建了一个包含 2 个公有子网和 2 个私有子网的新 VPC。
- 我创建了一个新的 EC2 实例到公有子网。(Ubuntu Linux 22.04 版本)此 EC2 实例具有一个公有 EIP,如 111.111.111.111(仅举例)和安全组,该安全组向具有所有 ipv4 地址的 4444、4443、4442、5555 端口开放。
- 我用这个docker-compose文件运行了selenium-hub。
version: "3"
services:
chrome:
image: selenium/node-chrome:4.15.0-20231110
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
edge:
image: selenium/node-edge:4.15.0-20231110
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
firefox:
image: selenium/node-firefox:4.15.0-20231110
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
selenium-hub:
image: selenium/hub:4.15.0-20231110
container_name: selenium-hub
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
- 我用这个 docker 语句运行docker-compose.yml文件上面。
docker-compose -f docker-compose-v3.yml up -d
- 我试图用这个 python 代码访问那个 selenium 中心。(我尝试了这些网址,,,
http://111.111.111.111:4444/wd/hub
http://111.111.111.111:4444
111.111.111.111:4444/wd/hub
111.111.111.111:4444
)
from selenium import webdriver
def test_start_remote(server):
options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('--no-sandbox')
driver = webdriver.Remote(command_executor=server, options=options)
driver.get("https://www.google.com")
print(driver.title)
driver.close()
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
test_start_remote("http://{URL~~}/wd/hub")
问题
它没有返回响应
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPConnection object at 0x0000022832B30850>, 'Connection to {AWS LOAD BALANCER DNS}.ap-northeast-2.elb.amazonaws.com timed out. (connect timeout=None)')
我检查了什么
- 我在本地电脑中运行了相同的docker-compose文件,并成功连接了这个网址
http://localhost:4444/wd/hub
- 在 ec2 实例上,我检查了 selenium-hub 容器的日志,并检查了所有浏览器节点是否都在中心注册。
我的问题的解决方案是什么??
请帮帮我
答: 暂无答案
评论