Я пытаюсь заполнить эту форму, используя CasperJS. Я хотел бы ввести электронное письмо и нажать «Разблокировать этот обзор».Заполните форму с CasperJS
Проверка кода с использованием кода элемента на Chrome, я получаю следующее:
<input id="email" type="text" class="emailAddr focusClear" value="Enter your email address" defaultvalue="Enter your email address" onblur="return ta.call('ta.common.search.defaultOnBlur', event);" onkeydown="return ta.util.keys.onEnterKeyClickSibling(event, '.submitBtn');" onfocus="ta.trackEventOnPage('overlay_registration_email_only', 'focused', '', '39415', false); return ta.call('ta.common.search.clearOnFocus', event);">
<div class="submitBtn rndBtn rndBtnGreen rndBtnLarge taLnk" onclick="ta.servlet.OverlayRegistration.submitEmailOnlySignup(event, ta.id('emailOnlySignup'), oreg_options);">Unlock this review</div>
не имеют большой опыт работы с CasperJS, код, который я пытаюсь использовать для отправьте эту форму:
this.sendKeys('input[id="email"]', '[email protected]');
У меня проблема с селектором, но я не уверен. Это URL я проверяю, и вы получите эту форму при нажатии кнопки «Дополнительно» в обзоре, когда вы не вошли в
Это полный код, который я использую:.
var casper = require("casper").create({
pageSettings: {
userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:23.0) Gecko/20130404 Firefox/23.0"
}
});
var url = 'http://www.tripadvisor.com/Restaurant_Review-g187497-d782630-Reviews-Restaurante_El_Mussol-Barcelona_Catalonia.html';
casper.start(url, function() {
this.echo('ok');
this.click("span.taLnk.hvrIE6.tr299457563.moreLink.ulBlueLinks");
this.echo('ok2');
this.capture('test-screen1.png');
}).wait(15000).then(function() {
this.echo('ok3');
this.capture('test-screen2.png');
/**this.fill('input.emailAddr', {
'email': '[email protected]'
});*/
this.echo('ok4');
this.sendKeys('input[value="email"]', '[email protected]');
this.echo('ok5');
this.capture('test-screen3.png');
}).wait(5000).then(function() {
this.echo('ok5');
this.capture('test-screen4.png');
});
/**fs.write(path,content,'w')**/
casper.run();
Я никогда не достигаю 'ok5', и форма не заполняется. Я подозреваю, что в селекторе CSS я делаю что-то неправильно.
Вы не сказали, в чем проблема. Кроме того, сделали снимок экрана? Пожалуйста, покажите большую часть кода. –
Я добавил полный сценарий, который я использую, и еще несколько объяснений. – aruizga
Возможный дубликат [Как получить доступ к iframe от CasperJS?] (Http://stackoverflow.com/questions/12150194/how-do-i-access-an-iframe-from-casperjs) –