gpt4 book ai didi

javascript - 单击该元素,但页面未相应地重新加载

转载 作者:行者123 更新时间:2023-12-03 12:02:18 27 4
gpt4 key购买 nike

使用 phantom JS,我尝试单击 <li> element(target_element) 并渲染在其之后加载的页面。元素已成功单击。但是,在渲染时,刷新的页面在输出中看不到。我已经给出了足够的等待项目。代码是:

page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
phantom.exit();
} else {
window.setTimeout(function () {
page.evaluate(function() {
document.getElementById('custom_filters').style.visibility = "hidden";
var a = document.getElementById('target_element');
var e = document.createEvent('MouseEvents');
e.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
console.log(a.dispatchEvent(e));
waitforload = true;
});
page.render(output);
phantom.exit();
}, waitTime);
}
});

这是否意味着该事件没有触发 JS 函数,或者我在这里做错了什么?

最佳答案

不,点击和渲染之间没有任何等待时间。 setTimeout 只需要围绕需要延迟的调用。

page.evaluate(function() {
document.getElementById('custom_filters').style.visibility = "hidden";
var a = document.getElementById('target_element');
var e = document.createEvent('MouseEvents');
e.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
console.log(a.dispatchEvent(e));
waitforload = true;
});
window.setTimeout(function () {
page.render(output);
phantom.exit();
}, waitTime);

关于javascript - 单击该元素,但页面未相应地重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25357122/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com