gpt4 book ai didi

java - 当无法通过系统属性或路径指定 geckodriver 位置时,是否有非远程方法来指定 geckodriver 位置?

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

在我的应用程序中,我无法使用 System.setProperty 设置 geckodriver 可执行位置,并且无法在路径中设置它。

为什么?因为我的应用程序是 Multi-Tenancy 的......并且每个租户都有自己的目录,在其中复制和运行 Firefox 和 Geckodriver。这是由于 Firefox + Geckodriver 中的错误造成的,其中无限的 javascript 循环和其他几种情况会导致 Firefox 挂起,直到手动终止。有时戒掉也不能完全杀死事情。因此,我们需要在 JVM 中 每个租户提供一个自定义 geckodriver 位置。这就是问题所在。

所以我改用:

driverService = new GeckoDriverService.Builder()
.usingDriverExecutable(new File(geckoDriverBinaryPath))
.build();
driverService.start();
RemoteWebDriver driver = new RemoteWebDriver(driverServiceUrl, capabilities);

但这让我在非远程时使用 RemoteWebDriver。

有更好的方法吗?

最佳答案

与其在 FirefoxDriverService 对象上调用 start(),为什么不简单地使用接受该服务的 FirefoxDriver 构造函数呢?

driverService = new GeckoDriverService.Builder()
.usingDriverExecutable(new File(geckoDriverBinaryPath))
.build();
WebDriver driver = new FirefoxDriver(driverService);

关于java - 当无法通过系统属性或路径指定 geckodriver 位置时,是否有非远程方法来指定 geckodriver 位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49136886/

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