selenium - java.net.ConnectException:连接被拒绝:通过 GeckoDriver 启动 Firefox 时连接
问题描述
我已经下载了最新版本的 Firefox,即 Quantum。对于 Selenium,之前不需要为 Firefox 下载任何可执行文件来打开 URL,但现在它会抛出为 GeckoDriver 设置属性的错误。
所以,我下载了最新版本的geckodriver-v0.20.1-arm7hf.tar.gz并把它放进去,System.setProperty()
所以它抛出了连接拒绝的错误。
因此,我使用了在 Chrome 上打开 URL 的替代方法。下载 chromeExecutable 并且能够在没有任何连接拒绝的情况下打开。
代码片段:-
System.setProperty("webdriver.gecko.driver", "C:\\XYZ\\XXXX\\Downloads\\geckodriver-v0.20.1-arm7hf.tar.gz");
WebDriver driver=new FirefoxDriver();
driver.get("https://google.com");
控制台错误:
Caused by: java.net.ConnectException: Connection refused: connect
任何人都可以帮助解决 Mozilla Firefox 上的问题吗?
谢谢梅哈克
解决方案
根据最佳实践,您需要遵循以下几点:
- 始终使用最新发布的Selenium Java 客户端
根据您的相关底层操作系统,始终使用最新发布的WebDriver二进制文件:
- GeckoDriver : mozilla/geckodriver
- ChromeDriver : ChromeDriver - Chrome 的 WebDriver
- IEDriverServer:release.storage
在Windows 操作系统上下载geckodriver-v0.20.1-win32.zip或geckodriver-v0.20.1-win64.zip并解压缩以供您使用。
- 始终使用最新版本(Firefox、Chrome、IE)更新您的浏览器
在该
System.setProperty()
行中,Value字段应以WebDriver变体的名称结尾:窗户:
System.setProperty("webdriver.gecko.driver", "C:\\XYZ\\XXXX\\Downloads\\geckodriver.exe");
Linux:
System.setProperty("webdriver.gecko.driver", "/opt/XYZ/XXXX/geckodriver");
macOS :
System.setProperty("webdriver.gecko.driver", "/Users/XYZ/XXXX/geckodriver");
推荐阅读
- c# - 文档中泛型参数的约束在哪里?
- flask - 如何使用请求库将有效负载从另一个 Python 应用程序发布到 Flask 应用程序
- r - R - 如何识别功能的哪个版本(包)是活动/附加的?
- python - 逐个访问列表的元素
- java - 这段代码是如何工作的,输出是什么。这看起来很简单
- python - 为什么这个 RSA keygen/encryption 函数返回原始消息用于加密和大量用于解密?
- ruby-on-rails - 仅当用户在 rails 表单中选择特定选项时如何显示字段
- flutter - 我可以在颤振仪表板中将图标更改为图像或表情符号吗
- python-3.x - 动态规划原始计算器代码优化
- angular - 根据输入在Angular中重新绘制画布线