【发布时间】:2014-01-22 10:51:37
【问题描述】:
我无法在关键字规划器中填写 adwords textarea。
- 我正在登录谷歌帐户:好的
- 我去关键字规划师:好的
- 点击显示菜单:好的
- 填充文本区域:没有???
- 点击按钮:确定
我能做什么?
部分代码:
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
【问题讨论】:
-
我只是尝试使用 javascript 控制台填写表单,而 document.querySelector('#gwt-debug-keywords-text-area').textContent = 'test';也不 document.querySelector('#gwt-debug-keywords-text-area').value = 'test';显示修改。也许谷歌保护了这个区域或者必须触发一个事件。
标签: javascript phantomjs casperjs