コンテキスト: 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 を使用して、JavaScript で使用する Selenium オブジェクトをラップしています。
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));
一致する Quit/Dispose コードは
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 の設定でハードウェア アクセラレーションを無効にするよう提案されています。これはまったく違いはありません。
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>
ここからどこへ行けばいいですか?修正が見つかるまで、PhantomJS にフォールバックできます。