HTMLUnitDriver에서 alert-API를 구현하라는 요청은 수년 전에 제기되었습니다. 이것은 링크입니다 :이 균열 다루기 어려운 것 같다으로
https://code.google.com/p/selenium/issues/detail?id=1105&q=alert%28%29&colspec=ID%20Stars%20Type%20Status%20Priority%20Milestone%20Owner%20Summary
, 당신은 자바 스크립트 (, ..., 경고 확인) 모달 대화 상자를 우회하는 몇 가지 트릭에 대해 생각해야합니다. 최소한 alert-API를 구현할 때까지.
모달 대화 상자가 표시되지 않도록하는 트릭은 Selenium 스크립트에 추가 JavaScript를 추가하는 것으로 구성됩니다. 예를 들어 콜백 함수를 변경하여 경고 상자를 피하십시오.
또한 JavaScript 자체를 사용하여 모달 대화 상자를 닫거나 취소하거나 확인하는 것은 불가능합니다. 그것이 당신이 그들을 막아야하는 이유입니다. 이는 보안상의 이유로 발생합니다.
경고 API가 구현 될 때까지는 HtmlUnitDriver를 사용하여 경고 API를 처리 할 수있는 유일한 방법입니다.
JavascriptExecutor javascriptExecutor = (JavascriptExecutor) webDriver;
javascriptExecutor.executeScript("window.alert = function(message){ console.log(message); };" +
"window.confirm = function(message){ console.log(message); return true; };");
그런 다음 코드에서 HtmlUnitDriver.switchTo().alert().accept()
를 건너 뛸 수 있습니다 : 당신이 경고가 실제로 표시할지 여부를 확인할 필요가없는 경우