Я использую простой веб-сервер в nodejs.На стороне сервера я хочу проверить, был ли пользователь успешным в получении окна предупреждения в пользовательском интерфейсе.Может быть (подтвердить, подсказать и т. Д.).Полезная нагрузка находится в URL.Чтобы проверить это, я создаю URL и передаю его селену, чтобы проверить, создает ли он окно предупреждения.Тем не менее, все мои попытки обработать предупреждение провалились за исключением.Вот мой код
/* global */
const webdriver = require('selenium-webdriver')
const chrome = require('selenium-webdriver/chrome')
var options = new chrome.Options();
options.addArguments('headless');
var path = require('chromedriver').path;
let driver = new webdriver.Builder().
withCapabilities({'browserName': 'chrome', 'alertBehavior': 'IGNORE'}).
setChromeOptions(options).
build();
/* do bunch of stuff */
function checkXSS(payload) {
console.log('checking payload')
var url = 'http://<url>?payload=' + payload
driver.get(url). //exception thrown here itself.
driver.switchTo().alert().then(function() {
driver.switchTo().alert().accept();},
function(){});
}
И я получаю следующее исключение
UnexpectedAlertOpenError: unexpected alert open: {Alert text : XSS}
Я пробовал и другие способы, которые были предложены на stackoverflow.Например, используя driver.get.then (_, =>), alert.dismiss () и т. Д., Но все они по-прежнему выдают одно и то же исключение.Что мне здесь не хватает?