如何将 gecko 可执行文件与 Selenium 一起使用

2023-12-25

我使用的是 Firefox 47.0 和 Selenium 2.53。最近,Selenium 和 Firefox 之间出现了一个 bug,导致代码无法运行。解决方案之一是使用 Marionnette 驱动程序。

我按照这个指示site https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver将这个新驱动程序与 RemotWebDriver 一起使用,但我仍然遇到错误:

警告 - 异常:线程“main”org.openqa.selenium.WebDriverException 中出现异常:驱动程序可执行文件的路径必须由 webdriver.gecko.driver 系统属性设置;有关更多信息,请参阅https://github.com/jgraham/wires https://github.com/jgraham/wires。最新版本可以从...下载。

到目前为止我尝试过的代码非常简单:

public class Test {
    static WebDriver driver;
    static Wait<WebDriver> wait;
    public static void main(String[] args) throws MalformedURLException {
        System.setProperty("webdriver.gecko.driver", "C:\\Selenium\\geckodriver.exe");
        DesiredCapabilities cap = DesiredCapabilities.firefox();
        cap.setCapability("marionette", true);
        cap.setBrowserName("firefox");
        driver = new RemoteWebDriver(new URL("http://192.168.117.135:5555/wd/hub"), cap);//true to enable the JS
        wait = new WebDriverWait(driver, 3000);
        final String url = "https://www.google.com/";

        JavascriptExecutor js = (JavascriptExecutor) driver;

        try {
            driver.navigate().to(url);
        } finally {
            driver.close();
        }
    }
}

我确信 geckodriver.exe 的路径是正确的,而且我不知道我在哪里犯了错误。

编辑1: 我尝试了以下代码:

public class Test {
    static WebDriver driver;
    static Wait<WebDriver> wait;
    public static void main(String[] args) throws MalformedURLException {
        System.setProperty("webdriver.gecko.driver", "C:\\Selenium\\geckodriver.exe");

        driver = new MarionetteDriver();
        wait = new WebDriverWait(driver, 3000);
        final String url = "https://www.google.com/";

        JavascriptExecutor js = (JavascriptExecutor) driver;

        try {
            driver.navigate().to(url);
        } finally {
            driver.close();
        }
    }
}

它正在工作,问题似乎来自 RemoteWebDriver 和 gecko 驱动程序,你们中有人有这方面的消息吗?


最近 Selenium 推出了 Selenium 3,如果您尝试使用 Firefox 最新版本,那么您必须使用 GeckoDriver:

System.setProperty("webdriver.gecko.driver","G:\\Selenium\\Firefox driver\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();

您可以从这里查看完整的文档 https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 gecko 可执行文件与 Selenium 一起使用 的相关文章

  • 将 for 循环转换为 concat String 为 lambda 表达式

    我有以下 for 循环 它迭代字符串列表并将每个单词的第一个字符存储在StringBuilder 我想知道如何将其转换为 lambda 表达式 StringBuilder chars new StringBuilder for String
  • wsimport Xauthfile 错误

    我正在尝试为我们公司网络外部的受 SSL 保护的 Web 服务 在 Microsoft Biztalk 上 生成客户端 也称为消费者 所需的 java 帮助类 我们只能通过代理访问它 并且无法更改 Web 服务本身的任何内容 这是我提供给
  • 如何在 Spring Data MongoDB 中仅返回查询的特定字段?

    我们如何在 Spring Data Mongo 中选择特定字段 我尝试了以下操作 但我得到了强制转换异常Foo to String Using Query Query value path 0 fields path 0 String fi
  • 从java管理unix进程的最佳方法是什么?

    我正在寻找一些简单的任务 例如列出用户的所有正在运行的进程 或者通过pid等杀死特定进程 来自Java的基本unix进程管理 有没有相对成熟且有文档的库 我可以从 JVM 运行外部命令 然后解析标准输出 错误 但这似乎需要大量工作 而且一点
  • 在jodatime中计算一个月的周数

    jodatime 可以计算一个月的周数吗 我需要这样的东西 月份 七月 第 27 年的一周 1 7 七月 第 28 年的一周 9 14 七月 第 29 年的一周 16 21 七月 第 30 年的一周 23 31 七月 月份 八月 第 31
  • EventQueue.invokeLater vrs SwingUtilities.invokeLater

    有人可以强调这两者之间的差异以及两者都是必需的实例吗 我有一个可以互换使用两者的应用程序 但想知道其中一个是否比另一个更好 显然他们都接受Runnable object 对我来说 我想我可以使用我喜欢的那个 为什么这两个相似的功能在不同的类
  • 正则表达式忽略引号之间的文本

    我有一个正则表达式 它是 s 这用于分割字符串 但我不想让它分开 如果它在引号中 我不会使用 split 而是使用 Pattern 和 Matcher A demo import java util regex Matcher import
  • 在准备好的语句中使用“like”通配符

    我正在使用准备好的语句来执行 mysql 数据库查询 我想实现基于某种关键字的搜索功能 为此我需要使用LIKE关键字 我知道的就这么多 我以前也使用过准备好的语句 但我不知道如何使用它LIKE因为从下面的代码中我将在哪里添加 keyword
  • 在“Java Web 服务教程”之后找不到 taskdef 类 com.sun.tools.ws.ant.WsImport

    我在许多不同的地方看到了同样的问题 即使经过大量谷歌搜索 我也无法解决它 我想做的 更大的图景 是经历Java Web 服务教程 http download oracle com docs cd E17802 01 webservices
  • 从枚举返回计算值

    我的问题有两个而且很简单 按原样误解枚举 这个想法在我的代码中缺少一些重要的抽象 代码示例 其中oprt calc x y 无法编译 有警告cannot find symbol public enum Operation PLUS publ
  • MyBatis 遵循 JPA 吗?

    作为我的第一个 ORM 我已经使用 myBatis 几个月了 现在我正在尝试学习其他东西 例如 Hibernate JPA 起初很难理解 Hibernate 和 JPA 之间的区别 经过几分钟的研究 我明白 JPA 只是一个规范 Hiber
  • 升级到 Gradle 2.0 后:在根项目上找不到属性“Compile”

    为了避免在构建 Java 源代码时出现有关特殊字符的警告 我将此行放在我的gradle build在升级到 Gradle 2 0 之前运行良好 tasks withType Compile options encoding UTF 8 升级
  • Android 上为什么会出现线程泄漏?

    我在 Android 应用程序中注意到 每次退出主屏幕时 堆大小 泄漏 都会增加 ByteArrayOutputStream 的量 我能做到的最好的办法就是添加 this mByteArrayOutputStream null 在 的最后r
  • 检查元素是否确实对用户可见

    我想检查用户是否可以在不滚动的情况下看到当前网络浏览器视图中的元素 我发现可以检查该元素是否位于页面上的某个位置 另一个提示建议检查元素位置 但随后我需要获取浏览器可见窗口的尺寸及其x y偏移到0 0 如果有人能给我指出一个不需要 Java
  • Java客户端找不到主节点:MasterNotDiscoveredException等待[1m]

    我正在使用 vagrant 并使用 debian 软件包在其上安装了 ES elasticsearch 1 1 1 deb 在我的网络应用程序中 我使用 jar org elasticsearch elasticsearch 1 1 1 我
  • SLF4J 日志级别作为参数[重复]

    这个问题在这里已经有答案了 我们希望使用 SLF4J 但我们发现的一件事是您无法将级别指定为参数 即 Logger log Level INFO messsage 你必须这样做 logger info message 这使得无法通过方法传递
  • Java 8 元空间垃圾收集

    我正在运行的 java 进程在运行的第一个小时左右始终表现良好 然而 性能会迅速下降 在分析时 我发现元空间垃圾收集相当频繁地发生 直到小时标记 然后失去控制 我相当确定我能够使用 XX MaxMetaspaceSize 选项来解决此问题
  • ViewCompat.setOnApplyWindowInsetsListener使状态栏颜色消失

    这是我用来检测何时的代码Keyboard Height变化 唯一的问题是Statur Bar当此代码运行时 颜色消失并变为白色 ViewCompat setOnApplyWindowInsetsListener this getWindow
  • 如何在JavaFX中获得狭窄的进度条?

    正如标题所说 我需要制作一个细进度条 我用过这个 progressBar setMaxHeight 0 1 progressBar setPrefHeight 0 1 但这行不通 有人有想法吗 你必须搞乱样式才能让它变小 我真的建议看看ca
  • 在 OpenCV 中将 `BufferedImage` 转换为 `Mat`

    我怎样才能转换BufferedImage to a Mat in OpenCV 我正在使用 JAVA 包装器OpenCV not JavaCV 由于我是新手OpenCV我在理解如何做时遇到一些问题Mat works 我想做这样的事情 基于

随机推荐

  • React 是否保证“props”对象引用保持稳定?

    最近我看到类似于以下人为示例的代码 const MyComp props gt const prevProps setPrevProps useState props if props prevProps setPrevProps prop
  • 编写一个监听 USB 端口的小实用工具,需要建议

    我有一个可以循环工作的硬件 它配备了专有的软件工具 让用户可以通过 USB 从 PC 控制它 用户定义每个周期的长度 在每个周期开始时 软件工具通过 USB 快速向硬件发出一系列命令 然后进入空闲模式 等待下一个周期 还有第二个硬件需要与第
  • 通过静态类访问 HttpContext 可以“正确”处理不同的请求

    I found 本文 https www quickdevnotes com better approach to use httpcontext outside a controller in net core 2 1 在尝试解决需要非控
  • 图片上传:iPhone客户端-Django-S3

    我有一个关于从客户端 在本例中为 iPhone 应用程序 上传到 S3 的一般性问题 我正在使用 Django 在 EC2 实例上编写 Web 服务 以下方法是将文件上传到 S3 的最低限度方法 对于较小的文件 jpg 或 png def
  • 判断手机是否重启过

    我正在尝试检测自上次设置首选项值以来 Android 设备是否已重新启动 理想情况下 我想在没有android permission RECEIVE BOOT COMPLETED允许 我考虑的一种方法是存储另一个包含某种会话 ID 的首选项
  • 是否有更好的方法来处理穿过反子午线(日界线)的空间多边形?

    TL DR R中处理在纬度 180 处与反子午线相交 重叠的空间多边形并将其沿该子午线切割成两部分的最佳方法是什么 Preface 这将是一篇很长的文章 但只是因为我将包含大量代码和图形来进行说明 我将向您展示我的目标是什么以及我通常如何实
  • 有没有办法改变海龟中文本框的位置?它总是显示在我的左上角,但我希望它出现在底部中心

    import turtle screen turtle Screen global answer answer screen textinput Welcome to the game What s your name Here is 出现
  • 使用 angularjs 将数据附加到 json-ld

    我是 angularjs 的新手 我开始这个项目是为了了解有关这个框架的更多信息 我制作了一个将数据放入 json ld 的应用程序 我的应用程序可以将数据添加到 json ld 但没有我想要的输出格式 这个 gt 这是我的 html和角度
  • MySQL获取最新记录检查两列[重复]

    这个问题在这里已经有答案了 我有这样的结果 我需要获取每个骑师的最新比赛 首先获取比赛的最大日期 然后获取最大比赛编号 结果应该是这样的 注 数据库非常庞大 查询应该非常快 当您说 最大比赛号码 时 您是指最新比赛的号码 日期最近的比赛 还
  • 自定义 HighCharts 中各个系列的颜色

    我正在使用 HighCharts 绘制折线图 并尝试更改每个系列的线条颜色 我确实找到了这个例子here https stackoverflow com questions 5727419 highcharts is it possible
  • iOS - 获取字母的“真实”高度

    我正在尝试在 UIView 上布局文本 黄色区域是带有背景色的UILabel的边框 当我使用 sizeWithFont 时 我得到了这个 它在字母上方有一个非常大的空间 当我使用font pointSize我得到这个 i 这很好 BUT当我
  • MySQL 数据库中有一列 LONGTEXT 的内存消耗

    我正在 MySQL 数据库中创建一个日志表 其中一个字段将仅在大约 5 的日志中使用 并将包含堆栈跟踪和其他供开发人员使用的冗长信息 我正在考虑使用 LONGTEXT 字段 但我想知道使用它是否会使我的数据库增长得非常快 即使该列中有 95
  • 任何生成 xsl:fo 的 javascript(基于网络)所见即所得编辑器

    我很难找到可生成 XSL FO 的 OSS 或基于商业网络 javascript 的 WYSIWYG 编辑器 我希望编辑能够做 向用户呈现常见的文本编辑器界面 与我当前正在输入以向 SO 提交此问题的编辑器不同 用户能够定义 XSL FO
  • 禁用 jQuery UI Datepicker 中的未来日期

    是否可以禁用从今天开始的未来日期 假设今天是 2010 年 10 月 23 日 那么 2010 年 10 月 24 日以后将被禁用 抱歉 我对 jQuery 和 JavaScript 很陌生 确实是的 日期选择器具有 maxdate 属性
  • 反应原生模态,避免在键盘打开时调整视图大小(Android)

    我正在使用react native Modal 其中包含一个View 该视图有一些 TextInput 元素 当键盘弹出时 视图元素全部折叠以适应剩余空间 但我根本不希望视图发生变化 这确实not发生在IOS上 而且 它确实not发生在同一
  • 如何管理多个 apache 服务器上的单个 PHP5 会话?

    您好 我必须从多个网络服务器检索数据 首先 我以用户身份登录我的网站 成功登录后 我必须从不同的网络服务器获取数据并显示 如何与多个服务器共享单个会话 我怎样才能实现这个目标 当我第一次登录时 它会创建会话并将会话 ID 保存在该服务器的临
  • 如何通过环境变量添加气流池?

    就像可以通过名称后面的环境变量设置连接一样AIRFLOW CONN conn id 有没有办法设置池 这样我就可以设置一个本地 Docker 测试环境 并填充所有配置 None
  • AdMob 插页式广告已显示但无法点击

    我有一个应用程序 可以在某些活动关闭时显示插页式广告 我使用不同的活动来展示广告 到目前为止 它正确显示了广告 但当我点击广告时没有任何反应 我已经在许多设备上进行了测试 测试人员报告了相同的行为 日志中没有错误 如果我使用调试版本或上传到
  • Delphi 中图标的线程加载

    使用Delphi 2009 尝试制作一个启动器 为了使其 敏捷 我真的很想在后台线程中加载图标 我已经使用了这里找到的解决方案 能否从 Vista Shell 获取 48x48 或 64x64 图标 https stackoverflow
  • 如何将 gecko 可执行文件与 Selenium 一起使用

    我使用的是 Firefox 47 0 和 Selenium 2 53 最近 Selenium 和 Firefox 之间出现了一个 bug 导致代码无法运行 解决方案之一是使用 Marionnette 驱动程序 我按照这个指示site htt