我具有此功能,可以在元素可见时设置几秒钟的暂停。
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
请有人帮我解决问题。