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

bug*_*net 7 c# firefox selenium azure geckodriver

上下文: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 0.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));
Run Code Online (Sandbox Code Playgroud)

我使用以下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));
Run Code Online (Sandbox Code Playgroud)

匹配的Quit/Dispose代码是

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

try {
  driver.Dispose();
} catch (E) {
  T.Error().Send("driver.Dispose() failed.");
}
Run Code Online (Sandbox Code Playgroud)

(T是一个记录对象)

执行.Quit()方法调用时,我得到以下对话框.

崩溃的示范

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

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

geckodriver论坛上还有一个问题,即声称有某种修复.它现在肯定没有修复.

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>
Run Code Online (Sandbox Code Playgroud)

我从哪里开始?我可以回到PhantomJS,直到找到修复程序.

mos*_*aad 5

我有同样的问题,我发现有人在这里贴了它.目前,您可以降级到Firefox 48.0.2,直到修复为止.