Привет всем Я новичок в javascript, и я пытаюсь изучить Casper.js/Phantom.js, но сегодня я столкнулся с проблемой. Я пытаюсь войти на сайт https://angel.co/login?utm_source=top_nav_home с автозаполнением. Мой код правильно заполняет имя пользователя и пароль, но мойКак нажимать кнопку без id на casperjs
casper.getElementsByName("commit").click();
не работает вообще. Поэтому моя программа не заходит в учетную запись. Когда я инспектировать элемент я не вижу идентификатор тега, я вижу имя, поэтому я использую getElementByName.My код, как это ниже
phantom.casperPath = 'C:/casperjs';
phantom.injectJs(phantom.casperPath + '/bin/bootstrap.js');
var casper = require('casper').create({
pageSettings: {
loadImages: false,
loadPlugins: false,
userAgent: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
}
});
//First step is to open angellist
casper.start().thenOpen("https://angel.co/login", function() {
console.log("angel website opened");
});
//lets fill username and pass login
casper.then(function() {
console.log("Login using username and password");
this.evaluate(function() {
document.getElementById("user_email").value = "myemail";
document.getElementById("user_password").value = "mypassword";
//casper.getElementsByName("commit").click();
//THIS ONE ABOVE DOESN'T WORK
});
});
после этого я сделать скриншот, но я вижу, что оно не нажмите кнопку входа. Я попытался щелкнуть его, используя xpath, но это не сработало. Спасибо за вашу помощь.
CasperJS имеет два контекста, а контекст страницы изолирован песочницей, поэтому 'casper' недоступен внутри' casper.evaluate() '. Кроме того, 'element.click()' почти никогда не работает. Вы должны использовать 'casper.click (" [name = 'commit'] ");' после вызова 'casper.evaluate()'. –
@ Vohuman Это одна из проблем, но она наименее. –
Открыт вопрос. – undefined