IDE Selenium - ошибка типа: document.getElementById (..) имеет значение null

1

Ситуация заключается в том, что я хочу использовать "runScript" для отправки xmlhttprquest в начале, когда веб-сайт открывается, найдите элемент в responseText, посмотрите, присутствует ли конкретный текстовый контент, и если да, я хочу нажать этот элемент.

Мне не разрешено показывать вам источник веб-сайта, но я надеюсь, что вы все еще сможете (возможно) найти ошибку.

Мой скрипт:

javascript{
var req = new XMLHttpRequest();
req.addEventListener("load", function(event) {
 if(req.status >= 200 && req.status < 300)
 {
   var parser = new DOMParser();
   var xmlDoc = parser.parseFromString(req.responseText, "text/html");
   if(document.getElementById("application_widgets__0_selectedUserLanguage_label").childNodes[0].textContent=="English")
   {
     document.getElementById("application_widgets__0_selectedUserLanguage_label").parentNode.click()
   }
 }
 });
req.open("GET", "..............................");
req.send();
}

Я уже тестировал его в консоли firebug перед тем, как поместить его в Selenium IDE, и он отлично работает. Но я всегда получаю то же исключение, когда запускаю его в Selenium IDE:

Изображение 174551

Мой вопрос: почему он работает в firebug, но не в Selenium IDE и что я сделал неправильно?

  • нет, нет iframe

Спасибо за ответы заранее! :)

Теги:
selenium
web
selenium-ide
firebug

1 ответ

0

Это указывает на то, что страница еще не загружена полностью при вызове document.getElementById(). Вам нужно обернуть свой код в window.addEventListener("load", function() {... }); чтобы заставить его работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню