CasperJS 无法填充 google 搜索字段
CasperJS is not working filling the google search field
我正在使用 CasperJS(使用 slimerjs 引擎)填写表格。然而,这是行不通的。
我用一个简单的 google.com 脚本试了一下:
var casper = require("casper").create({
verbose: true,
logLevel: "debug"
});
var fs = require("fs");
phantom.cookiesEnabled = true;
casper.options.viewportSize = { width: 1024, height: 768 };
casper.start();
casper.userAgent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
casper.thenOpen("http://www.google.com", function(response) {
casper.fill("form[id='gbqf']", {
q: "test"
}, true);
}).run();
表单未填写,页面加载后没有任何反应。详细日志指出:
[info] [remote] attempting to fetch form element from selector: 'form[id='gbqf']'
[info] [phantom] Done 2 steps in 1086ms
(然后结束)
我做错了什么?表单 ID 100% 正确..
Google 根据用户代理、视口大小、cookie 和其他指标提供不同的页面。您必须确保该元素确实存在。您可以使用 casper.exists()
函数进行检查。
我发现 google 搜索的一个很好的选择器是 "form[action='/search']"
,无论引擎(PhantomJS 或 SlimerJS)和用户代理字符串(是否声明为 IE)。
我正在使用 CasperJS(使用 slimerjs 引擎)填写表格。然而,这是行不通的。
我用一个简单的 google.com 脚本试了一下:
var casper = require("casper").create({
verbose: true,
logLevel: "debug"
});
var fs = require("fs");
phantom.cookiesEnabled = true;
casper.options.viewportSize = { width: 1024, height: 768 };
casper.start();
casper.userAgent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
casper.thenOpen("http://www.google.com", function(response) {
casper.fill("form[id='gbqf']", {
q: "test"
}, true);
}).run();
表单未填写,页面加载后没有任何反应。详细日志指出:
[info] [remote] attempting to fetch form element from selector: 'form[id='gbqf']'
[info] [phantom] Done 2 steps in 1086ms
(然后结束)
我做错了什么?表单 ID 100% 正确..
Google 根据用户代理、视口大小、cookie 和其他指标提供不同的页面。您必须确保该元素确实存在。您可以使用 casper.exists()
函数进行检查。
我发现 google 搜索的一个很好的选择器是 "form[action='/search']"
,无论引擎(PhantomJS 或 SlimerJS)和用户代理字符串(是否声明为 IE)。