Wieczór! Próbuję zalogować się do witryny z zombie.js, ale wydaje mi się, że nie mogę tego zrobić. Aha i strona jest w języku fińskim, ale nie jest to trudne do zrozumienia, dwa pola tekstowe i przycisk. Pierwsza to nazwa użytkownika, druga hasło, a przycisk to przycisk logowania.Wypełnianie logu w formie z zombie w pliku node.js
W tej chwili mój dziennik w kodzie jest następujący:
var Browser = require("zombie");
browser = new Browser();
browser.visit("https://www.nordnet.fi/mux/login/startFI.html?cmpi=start-loggain",
function() {
// Here I check the title of the page I'm on.
console.log(browser.text("title"));
// Here I fill the needed information.
browser.document.getElementById("input1").value ="MYUSERNAME";
browser.document.getElementById("pContent").value ="MYPASSWORD";
// And here it fails. I try to submit the form in question.
browser.document.getElementById("loginForm").submit();
setTimeout(function() {
// This is here to check that we've submitted the info and have been
// redirected to a new website.
console.log(browser.text("title"));
}, 2000);
});
Teraz wiem, że może powinna była zastosować własne „wypełnić” metody Zombie, ale starałem że bez powodzenia więc spróbowałem czegoś nowego .
All I dostać się z to błąd:
Y:\IMC\Development\Web\node_modules\zombie\lib\zombie\forms.js:72
return history._submit(_this.getAttribute("action"), _this.getAttribute(
^
TypeError: Cannot call method '_submit' of undefined
Teraz jeśli loguję że browser.document.getElementById("loginForm")
wyraźnie robi znaleźć formę, ale niestety, nie podoba mi się z jakiegoś powodu.
Próbowałem również "konwencjonalnej" metody z zombie, która używa przycisku logowania na stronie internetowej i naciskając go. Problem polega na tym, że w rzeczywistości nie jest to przycisk, tylko obraz z dołączonym do niego linkiem, a wszystko to jest wewnątrz <span>
. I nie mam pojęcia, jak mogę "kliknąć" ten przycisk.
Nie ma na nim żadnego identyfikatora, więc nie mogę tego użyć, a następnie spróbowałem użyć tego tekstu, ale ponieważ ma na nim umlauty, nie mogę go uruchomić. Ucieczki A z/344 tylko dał błąd:
throw new Error("No BUTTON '" + selector + "'");
^
Error: No BUTTON 'Kirjaudu sisään'
Więc tak, że nie działa, choć nie mam pojęcia, dlaczego nie prawidłowo rozpoznać uciekł umlaut.
To jest moje pierwsze pytanie, drugie jest nieznaczne, ale nie wiem, dlaczego tu nie napisać tego tekstu.
Jeśli mam to wszystko do roboty, czy mogę jakoś skopiować plik cookie, który daje mi to logowanie, i użyć go w moim YQL do skasowania ekranu? Zasadniczo próbuję ocierać się o wartości giełdowe, ale bez logowania wartości są odłożone o 15 minut, co nie jest złe, ale chciałbym, aby tak było na żywo.
Zobacz http://zombie.labnotes.org/ – John