Firefox 通过 GeckoDriver 在 Selenium 3.0.1 中的 .Quit() 上抛出异常

2023-12-22

上下文:Firefox 50.0.2 64 位、C#、Visual Studio 2015、Windows Server 2012 R2、Azure、ClearScript.V8.5.4.7、Selenium.Mozilla.Firefox.Webdriver.0.6.0.1、Selenium.WebDriver.GeckoDriver.Win64.0.11 .1

我使用 ClearScript 来包装 Selenium 对象以在 JavaScript 中使用,即

    static JScriptEngine JSengine = null;
    ...
    JSengine = new JScriptEngine(WindowsScriptEngineFlags.EnableDebugging | WindowsScriptEngineFlags.EnableJITDebugging);
    ...
    JSengine.AddHostType("CSFirefoxDriver", typeof(FirefoxDriver));
    JSengine.AddHostType("CSFirefoxOptions", typeof(FirefoxOptions));
    JSengine.AddHostType("CSFirefoxDriverService", typeof(FirefoxDriverService));

我使用以下 JS 实例化 Firefox

var driverService = CSFirefoxDriverService.CreateDefaultService();
driverService.FirefoxBinaryPath = "C:\\Program Files\\Mozilla Firefox\\firefox.exe";
driverService.HideCommandPromptWindow = true;
driverService.SuppressInitialDiagnosticInformation = true;
var options = new CSFirefoxOptions();
driver = new CSFirefoxDriver(driverService, options, CSTimeSpan.FromSeconds(30));

匹配的退出/处置代码是

try {
  driver.Quit();
} catch (E) {
  T.Error().Send("driver.Quit() failed.");
}

try {
  driver.Dispose();
} catch (E) {
  T.Error().Send("driver.Dispose() failed.");
}

(T是一个日志记录对象)

当执行 .Quit() 方法调用时,我会看到以下对话框。

如果我注释掉 .Quit() 那么我会在 .Dispose() 上得到相同的结果。

其他论坛建议在 Firefox 的首选项中关闭硬件加速。这根本没有任何区别。

还有一个关于壁虎司机 https://github.com/mozilla/geckodriver/issues/210有关此问题的论坛声称已进行某种修复。现在肯定还没修好。

Windows 事件日志在这里并不是特别有用,即

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    <System>
        <Provider Name="Application Popup" Guid="{47BFA2B7-BD54-4FAC-B70B-29021084CA8F}" /> 
        <EventID>26</EventID> 
        <Version>0</Version> 
        <Level>4</Level> 
        <Task>0</Task> 
        <Opcode>0</Opcode> 
        <Keywords>0x8000000000000000</Keywords> 
        <TimeCreated SystemTime="2016-12-13T03:16:28.936810900Z" /> 
        <EventRecordID>1227958</EventRecordID> 
        <Correlation /> 
        <Execution ProcessID="5856" ThreadID="11580" /> 
        <Channel>System</Channel> 
        <Computer>VM1-SQLWEB-W12</Computer> 
        <Security UserID="S-1-5-18" /> 
    </System>
    <EventData>
        <Data Name="Caption">firefox.exe - Application Error</Data> 
        <Data Name="Message">The exception Breakpoint A breakpoint has been reached. (0x80000003) occurred in the application at location 0x880f00ef. Click on OK to terminate the program Click on CANCEL to debug the program</Data> 
    </EventData>
</Event>

我该去哪里?在找到修复之前,我可以退回到 PhantomJS。


我也遇到同样的问题,发现有人发帖了here https://github.com/mozilla/geckodriver/issues/375。目前您可以降级到 Firefox 48.0.2,直到问题得到修复。

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

Firefox 通过 GeckoDriver 在 Selenium 3.0.1 中的 .Quit() 上抛出异常 的相关文章

  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • Azure 搜索 .net SDK-如何使用“FindFailedActionsToRetry”?

    使用 Azure Search net SDK 当您尝试对文档建立索引时 可能会遇到异常IndexBatchException 从这里的文档 https azure microsoft com en us documentation art
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现

随机推荐

  • ORA-12899 值对于列来说太大,尽管长度相同

    我正在运行以下查询 但得到 ORA 12899 尽管我尝试插入的字符串长度是 30 INSERT INTO TABLE1 SELECT FROM temp Table1 where LENGTH column1 30 SQL Error O
  • 如何通过 jquery ajax 发送 AntiForgeryToken (CSRF) 和 FormData

    所以我想POST文件上传连同AntiForgeryToken通过 AJAX 这是我的代码 View using Html BeginForm Upload RX FormMethod Post new id frmRXUpload enct
  • 使用 Bootstrap 使徽标图像响应

    我正在使用引导程序作为网站标题 如果我想让网站的徽标具有响应能力 我应该有两个徽标图像 一个用于桌面 一个用于移动设备 还是应该调整图像徽标的大小 获得它的最好方法是什么 谢谢 这是我的代码
  • 共享单例服务并避免共享组件中的循环依赖

    技术堆栈 该项目使用在本地 NPM 服务器上运行的 Angular 2 和 TypeScript 并使用 Angular CLI 构建 架构 该项目共有三个模块 第一个用于非 UI 服务和组件 第二个是 UI 组件和布局 第三个也是最后一个
  • 如何计算SurfaceView刷新的帧率?

    我有一个第三方框架 可以在表面视图 http developer android com reference android view SurfaceView html 我想测量视频的帧速率 以检查手机是否能够足够快地显示视频 或者是否需要
  • 极坐标图的对称轴标签

    我正在寻找一种使用 ggplot2 绘制轴的方法 如下图所示 也许有一些提示theme or scale x continuous 我的意思是标签的对称序列 在本例中从 100 到 100 中心位于 20 不是轴的水平方向 可重现的例子 l
  • 如何防止用户在一小时内投票多次?

    目前 我有一个带有验证码的脚本 该脚本在提交时记录用户的 IP 地址 以防止用户每小时投票多次 然而 许多人正在使用代理来绕过这一投票限制 我想采用额外的保护 我意识到关于这个主题还有其他问题 但它们总是涉及希望用户只能投票一次 而不是定时
  • 如何在Python中获取log10值的倒数?

    y np log10 train set SalePrice 我如何找到这个的逆 我希望它返回到原始值而不是缩放后的值 希望以上答案对您或任何人想要 log10 以 10 为底 和 log 自然 的倒数有帮助 Logarithm and b
  • Xcode 9.0 模拟器“消失”

    我最近在我的机器上安装了 Xcode 9 0 GM 我启动它来玩玩 我在该方案中看到的唯一模拟器是 iPhone 8 iPHone 8 Plus 和 iPhone X 我单击 下载其他模拟器 认为解决方案就在那里 迎接我的是这个屏幕 这是我
  • Laravel 3:寻找如何使用模型的解释

    我是 MVC 新手 我的第一个框架是 Laravel 目前为 3 我已经开始专门在路线中编码 然后转移到控制器 然而 我正在控制器中执行所有数据库操作 我不明白如何使用该模型 示例要么演示控制器中的所有内容 要么演示路由中的所有内容 但它们
  • 如何将对象传递给 JSP 标记?

    我有一个 JSP 页面 其中包含一个脚本 我在其中实例化一个对象 我想将该对象传递给 JSP 标记而不使用任何缓存 例如我想完成这个
  • 找不到 java.lang.String android.os.SystemProperties.native_get(java.lang.String) 的实现

    每当我在设备上安装应用程序时都会出现错误 03 24 18 56 08 Launching app adb push home itstym AndroidStudioProjects hlthee app build outputs ap
  • 如何查找 Android 设备上设置的默认浏览器

    有什么方法可以找出 Android 设备上哪个浏览器被设置为默认浏览器 在 Android 设备上可能安装了多个浏览器 但其中只有一个设置为默认浏览器 我需要以编程方式找出它 提前致谢 尽早回复表示赞赏 这段代码可以帮助你 Intent b
  • 怎么叫沉默啊!在达利缓存存储上?

    我正在尝试在开发模式下使用缓存来开发应用程序 但是development log 垃圾邮件主要是由缓存日志造成的 我正在使用达利 我知道 达利有沉默 方法 https github com mperham dalli commit 8920
  • 如何修改一个大的 json 字符串?

    死一般的寂静 您在 Stackoverflow 上并不经常遇到这种情况 我添加了一小笔赏金来让事情顺利进行 我构建了一个 json 文档 其中包含有关各个国家 地区位置的信息 我添加了一些自定义键 这是 json 文件的开头 type Fe
  • Java 将 long 转换为字节 - 哪种方法更有效

    我有两种方法将 long 转换为字节数组 for int i 0 i lt 7 i data pos i byte value gt gt 7 i 1 lt lt 3 and for int i 7 i gt 0 i data p i by
  • 无法反序列化对象 - 应为 BEGIN_OBJECT,但在第 1 行第 1 列为 STRING

    首先我要说的是 我在发帖之前已经搜索过了 只是找不到答案 我在反序列化 JSON 时遇到问题 这是一个有效的 JSON 在http jsonlint com http jsonlint com 它是用 servicestack json 序
  • AVAudioSession 类别未按照文档指示工作

    我有一个 iOS 应用程序 在某些地方有一些音频反馈 但我希望允许用户在后台播放的任何其他音乐都可以在此之上播放 此外 我希望应用程序中的音频遵守静音开关 根据开发人员文档 此功能应全部由 AVAudioSession 环境类别启用 这是我
  • 如何使用 IOC 从存储库中删除工作单元功能

    我有一个使用 ASP NET MVC Unity 和 Linq to SQL 的应用程序 unity容器注册类型AcmeDataContext它继承自System Data Linq DataContext 有一个LifetimeManag
  • Firefox 通过 GeckoDriver 在 Selenium 3.0.1 中的 .Quit() 上抛出异常

    上下文 Firefox 50 0 2 64 位 C Visual Studio 2015 Windows Server 2012 R2 Azure ClearScript V8 5 4 7 Selenium Mozilla Firefox