Casperjs填充AdWords关键字计划者



我无法在关键字planner中填写adwords textarea。

  1. 我正在登录Google帐户:OK
  2. 我去关键字策划者:确定
  3. 单击显示菜单:确定
  4. 填充文本area:否???
  5. 单击按钮:确定

我该怎么办?

代码的一部分:

  casper.thenEvaluate(function () {
    document.querySelector('#gwt-debug-keywords-text-area').textContent = "test";
});

整个代码:

// requires
var utils = require('utils');
var casper = require('casper').create({
verbose: true,
logLevel: "debug",
waitTimeout: 5000
});
var email = 'email';
var passwd = 'passwd';
//login
casper.start('http://adwords.google.com');
casper.thenEvaluate(function login(email, passwd) {
    document.querySelector('#Email').setAttribute('value', email);
    document.querySelector('#Passwd').setAttribute('value', passwd);
    document.querySelector('form').submit();
}, {email:email, passwd:passwd});
//go to keyword planner
casper.thenOpen('https://adwords.google.com/ko/KeywordPlanner/Home?');
casper.wait(1000, function() {});
casper.thenEvaluate(function () {
    var element = document.querySelector( '#gwt-debug-splash-panel-search-selection-input' );
    var event = document.createEvent( 'MouseEvents' );
    event.initMouseEvent( 'click', true, true, window, 1, 0, 0 );
    element.dispatchEvent( event );
});
//HERE
casper.thenEvaluate(function () {
    document.querySelector('#gwt-debug-keywords-text-area').textContent = "test";
});
casper.thenEvaluate(function () {   
    var element = document.querySelector( '#gwt-debug-search-button-content' );
    var event = document.createEvent( 'MouseEvents' );
    event.initMouseEvent( 'click', true, true, window, 1, 0, 0 );
    element.dispatchEvent( event ); 
});
casper.then(function() {
    this.capture('exit.png');
    });
casper.run();

请参阅捕获:http://www.hostingpics.net/viewer.php?id=939611Exit.png

问题在于您假设Google玩得很好,并且'#gwt-debug-keywords-text-area'id是唯一的...但是它是不是。尝试使用浏览器的控制台:

document.queryselectorall('#gwt-debug-keywords-text-area')

您会看到有多个具有相同ID的元素...您会发现其中一个是您要寻找的一个元素。

我从来没有成功使用jQuery和casperj将Textarea发送到屏幕上,我很想看到此功能,因为我会使用它。相反,我只使用Casper.sendKeys

最新更新