Я не могу нажать кнопку с помощью PhantomJS. Заполнение текстовых полей отлично работает. Я хочу использовать чистые js (без jquery). Идеи?
var page = require('webpage').create();
page.open('https://www.somepage.com/login', function(status) {
console.log(">page loaded");
page.render('page.png');
page.evaluate(function () {
var username = "";
var password = "";
document.getElementById('login-input').value = username; //works
document.getElementById('passwd').value = password; //works
document.getElementsByName('login_button').click(); //this doesn't click the button
});
console.log(">form submitted");
page.render('page1.png');
phantom.exit();
});
Вы должны вызвать функцию в следующем коде x.click();
после функции щелчка следующим образом.
var x = document.getElementById("btn");
document.getElementById("btn").addEventListener('click', function() {
console.log("Clicked !!");
})
x.click();
<button id="btn">Click</button>