У меня есть эта функция, чтобы установить паузу в несколько секунд, ожидающую пока элементы будут видны.
function waitElement(ms)
{
var d = new Date();
var d2 = null;
do { d2 = new Date(); }
while(d2-d < ms);
};
Затем я хочу применить цикл ко всем элементам с таким же классом, ожидающим 3 секунды до следующей команды вчтобы дождаться загрузки элемента, но это не похоже на работу.
var items = document.getElementsByClassName("Class1");
for (var i = 0; i < items.length; i++) {
items[i].click();
waitElement(3000)
document.getElementById("ID_1").click();
waitElement(3000)
document.getElementById("ID_2").click();
waitElement(1000)
};
, но если я запускаю этот код, он работает
waitElement(3000);
items[0].click();
Но если я добавлю еще одну командуне работает:
waitElement(3000);
items[0].click(); // This command it works
waitElement(3000);
document.getElementById("date_time_portlet_204").click(); // This command is not executed
Error: Empty string passed to getElementById() //This error is obtained
Кто-то может помочь мне решить мою проблему, пожалуйста.