Как обрабатывать сигналы onload javascript в selenium?Обработка предупреждений javascript в selenium
Он не записывается в Selenium IDE, и он не обрабатывается функцией getAlert().
Как обрабатывать сигналы onload javascript в selenium?Обработка предупреждений javascript в selenium
Он не записывается в Selenium IDE, и он не обрабатывается функцией getAlert().
Даже я столкнулся с той же проблемой. После нескольких часов, проведенных с селеном, найдено решение для обработки предупреждений и всплывающих окон java-скриптов.
мы можем использовать keyPressNative селена для обработки предупреждений java-скрипта от RC-селена.
Вот как должен использоваться метод key*Native()
:
selenium.keyPressNative("27"); // Escape
selenium.keyPressNative("10"); // Enter
selenium.keyDownNative("16"); // Press and do not relase the shift key, so that
selenium.keyPressNative("79"); // this character will be capitals
selenium.keyUpNative("16"); // Release the shift key, as we don't need it for the
selenium.keyPressNative("67");
не рекомендуется, но помог мне в решении некоторых неудач селена.
Нельзя делать. As stated in Selenium documentation:
Селена пытается скрыть эти диалоги из вас (заменив Window.alert, window.confirm и window.prompt), поэтому они не будут останавливать выполнения вашей страницы. Если вы видите всплывающее окно с предупреждением, это , вероятно, потому, что он запускался во время процесса загрузки страницы, а это , как правило, слишком рано для нас, чтобы защитить страницу.
Это известное ограничение Selenium RC (и, следовательно, Selenium IDE), и одна из причин, по которой был разработан Selenium 2 (WebDriver). Если вы хотите поймать предупреждения onload
JS, вам нужно to use WebDriveralert handling.
В качестве обходного пути вы можете использовать Robot
, чтобы заполнить любой текст и нажать Enter и подтвердить диалог вслепую. Это не самый чистый способ, но он может работать. Однако вы не сможете получить сообщение alert
.