0

ブラウザをヘッドレスモードで実行して、低スペックのWindowsボックスにいくつかのリソースを保存したいと思います。私が知る限り、PhantomJS + GhostDriverは、Selenium Webdriverで使用する標準的な選択肢です。しかし、それを試してすぐに、どのような警告の問題に直面したdoesn't seem to be supported by PhantomJS。行う場合getAlertText webdriverをCommandをサポートしないの結果としてSelenium Webdriverを使用したヘッドレス/ GUIレスの自動化

[ERROR - 2016-08-01T04:24:24.894Z] RouterReqHand - _handle.error - {"name":"Invalid Command Method"," . . . "} 

Alert alert = driver.switchTo().alert(); 

を具体的に、この方法は、EventFiringWebDriverで実装:具体的には、次の例外が返され

public Alert alert() { 
    return targetLocator.alert(); 
} 

I代替アプローチまたは実行可能な回避策を探しています。誰でも?

+0

PhantomJSがサポートしていないとはどういう意味ですか?それはアラートがドライバー自身によって処理されないことを意味します。アラートに切り替えて処理する必要があります。 –

+0

@SaurabhGaur 'getAlertText' WebDriver' Command'は内部的にはサポートされていません。例外を返します。私の編集を参照してください。 –

+0

あなたは間違った方法を呼び出しています。 :) –

答えて

2

は、私はこのような直接JavaScriptを使用してアラート処理を実行することにより、その回避することができました:現時点では

JavascriptExecutor jsExecutor = (JavascriptExecutor) driver; 
jsExecutor.executeScript("window.alert = function(){}"); 
jsExecutor.executeScript("window.confirm = function(){return true;}"); 

を、直接PhantomJSためWebDriverインタフェースを介してその操作を実行する方法はないように思われます。

+1

ヘッドレスモードでクロムカナリアを実行する場合の解決策、ありがとうございます! –

関連する問題