我正在开发一个模拟器来模拟网页中的用户操作。在特殊情况下,页面中有几个按钮,单击每个按钮都会更改页面的内容。我以编程方式单击每个按钮,然后想要提取添加到页面的新内容。如果你看看:
http://www.elementbars.com/Build-a-Bar-Service.aspx#
你可以找到一个例子。
我的代码是这样的:
for (var int i=0; i< buttonArray.length; i++){ // buttonArray is the array of buttons
triggerClickEvent(buttonArray[i]);
extractNewContent();
}
function triggerClickEvent (clickableElement) {
jQuery(clickableElement).trigger('click');
}
triggerClickEvent 和 extractNewContent 都可以正常工作,但问题是在触发 click 事件后,JavaScript 引擎应该等待一段时间以确保添加了新内容,但它的行为并不符合预期。例如,我注意到所有按钮都被点击了,但是 extractNewContent 为第一个按钮提取内容,这意味着这两个函数没有同步工作。我使用了 setTimeout 函数,但由于它不会阻塞执行,所以无法解决问题。我还使用了检查文档状态的函数,但效果不佳。
如果您能帮助我,我将不胜感激。
谢谢。