Im пытается автоматизировать очистку информации с веб-сайта с помощью аутентификации пользователя с помощью PhantomJS. Чтобы получить доступ к форме входа на страницу, пользователю необходимо нажать кнопку, которая запускает функцию javascript, которая рисует форму. В моем коде im просто вызывает указанную функцию js, чтобы нарисовать форму, и попытайтесь затем заполнить поля. Проблема в том, что phantomjs не находит новые нарисованные элементы. С другой стороны, если я сделаю снимок экрана после вызова функции, я могу видеть элементы на ней. Доступ к другим элементам формы на странице работает без проблем, поэтому я думаю, что проблема может заключаться в том, что phantomjs пытается получить доступ к элементам до их полного рисования.PhantomJs: элементы доступа, нарисованные функцией js
Вот мой код:
var page = require('webpage').create();
url = "http://websiteURL.bla";
page.open(url, function(status) {
if (status === "success") {
page.evaluate(function() {
netbar_login_signup() //js function to show login form
});
page.evaluate(function() { //wait a few seconds, then fill the fields
document.getElementById("gsnet_login_name").value = "name";
document.getElementById("gsnet_login_passwd").value = "password";
document.getElementById("gsnet_login_submit").click();
},3000);
window.setTimeout(function() { //wait a few more seconds, then take screenshot
page.render("page.png");
},5000);
}
});
Любой сталкивались с подобными проблемами или знает решение моей?