Ситуация заключается в том, что я хочу использовать "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:
Мой вопрос: почему он работает в firebug, но не в Selenium IDE и что я сделал неправильно?
Спасибо за ответы заранее! :)
Это указывает на то, что страница еще не загружена полностью при вызове document.getElementById()
. Вам нужно обернуть свой код в window.addEventListener("load", function() {... });
чтобы заставить его работать.