vic*_*ory 7 javascript phantomjs
我一直在使用click()phantomJS引擎page.evaluate(),它工作得很好.但有时它只是不起作用我不知道为什么.
例如,我试图点击按钮验证这里
我试过这个:
page.evaluate(function() {
document.getElementById('recaptcha-verify-button').click();
});
Run Code Online (Sandbox Code Playgroud)
还有这个 :
rect = page.evaluate(function() {
return document.getElementById('recaptcha-verify-button').getBoundingClientRect();
});
console.log(rect.left + " " + rect.right);
page.sendEvent('mousemove', rect.left + rect.width / 2, rect.top + rect.height / 2);
page.sendEvent('mousedown', rect.left + rect.width / 2, rect.top + rect.height / 2);
page.sendEvent('mouseup', rect.left + rect.width / 2, rect.top + rect.height / 2)
Run Code Online (Sandbox Code Playgroud)
两者都不起作用,之后没有输出click(),我在chrome上尝试了相同但是它是相同的.任何想法或建议表示赞赏.
Ikh*_*yor -1
这是模拟点击元素的函数
function simulateClick(element) {
var event = document.createEvent("MouseEvents");
event.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
element.dispatchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
我认为这就是你需要解决的问题