我正在使用硒服务器。它可以很好地测试端口80上运行的应用程序。
但是如果我测试运行在80以外的其他端口上的应用程序,例如5001,连接被拒绝。
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities;
br = webdriver.Remote(command_executor="http://localhost:4444/wd/hub", desired_capabilities=DesiredCapabilities.CHROME)
br.get("http://127.0.0.1:5001/login/")
br.get_screenshot_as_file("/tmp/test.png")
如何在5001端口上进行测试?
编辑
我正在将Selenium服务器作为具有docker-compose的Docker容器运行:
version: '2'
services:
selenium:
image: selenium/standalone-chrome:latest
ports:
- 4444:4444
答案 0 :(得分:0)
您正在Docker容器中运行Selenium。如果您尝试连接到localhost,则指向Docker容器本身。
您必须按照以下说明连接到主机:How to access host port from docker container
使用您的内部IP地址或连接到特殊的DNS名称
host.docker.internal
,它将解析为主机使用的内部IP地址。