あなたは、ブラウザが閉じられた場合にはセレンのJavaScriptバインディングによってスローされますエラーをキャッチすることができます:
Error: This driver instance does not have a valid session ID (did you call WebDriver.quit()?) and may no longer be used.
は、ライン402の周りselenium-webdriver/lib/webdriver/webdriver.jsを参照してください。
function checkHasNotQuit() {
if (!self.session_) {
throw new error.NoSuchSessionError(
'This driver instance does not have a valid session ID ' +
'(did you call WebDriver.quit()?) and may no longer be ' +
'used.');
}
「session_」変数ブラウザーオブジェクトは単にbrowser.session_として利用可能になります - ただし、非同期のため、ブラウザーが閉じているかどうかは正確には示されません。
代わりに、あなたは)driver.getTitle(のように、ブラウザでダミーの相互作用を送ることができ、その後、ブラウザが閉じられたかどうかをチェックし、エラーをキャッチ:
try{
driver.getTitle();
// browser is open
} catch(NoSuchSessionError) {
// browser is closed
}
誰でもこれが機能していることを確認できますか? – emery
try/catchの最新のアプローチが私のために働いた。 –