gpt4 book ai didi

docker - 如何在Canopy( Selenium 库)中设置ChromeDriver端口?

转载 作者:行者123 更新时间:2023-12-01 15:19:40 25 4
gpt4 key购买 nike

我在Docker容器中使用Canopy,并且由于多个连接错误而想在调用canopy.core.start时将端口指定为4444,而不是指定的最终随机端口错误:ConnectFailure(拒绝连接)
-或无法启动驱动程序。

let chromeOptions = OpenQA.Selenium.Chrome.ChromeOptions()
chromeOptions.AddArgument("--no-sandbox")
chromeOptions.AddArgument("--disable-extensions")
chromeOptions.AddArgument("--disable-gpu")
chromeOptions.AddArgument("--disable-client-side-phishing-detection")
chromeOptions.AddArgument("--disable-suggestions-service")
chromeOptions.AddArgument("--safebrowsing-disable-download-protection")
chromeOptions.AddArgument("--no-first-run")
chromeOptions.AddArgument("--allow-insecure-localhost");
chromeOptions.AddArgument("--port=4444"); // Not taking effect; see below
let chromeNoSandbox = ChromeWithOptions(chromeOptions)
canopy.configuration.chromeDir <- "."
start chromeNoSandbox

Error: ConnectFailure (Connection refused) <--- Multiple of these in a docker container

Starting ChromeDriver 2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881) on port 36479 <-- How to specify this?

最佳答案

没有简单的方法可以做到这一点!

Canopy如何启动WebDriver实例是通过调用OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService("<path to the chromedriver executable on runner machine>")。 (当然,对于所有其他浏览器都是如此)。

问题是这种方法,根据文档,它按定义返回了随机端口(这样做是为了确保并行运行不会获得相同的端口并崩溃。谢天谢地,这种情况发生的可能性很低)。

您可以尝试做类似let a = OpenQA.ChromeDriverService.CreateDefaultService("<path>")a.Port <- <port number>的操作,但是我不知道如何使用生成的WebDriverService作为测试的执行者。
port=4444上的ChromeOptions位不起作用,因为这不是Chrome(或一般来说是浏览器)选项。它是一个WebDriver。

我在项目的tracker上发布了一个问题。希望我们能尽快得到答案...

关于docker - 如何在Canopy( Selenium 库)中设置ChromeDriver端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49448201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com