CasperJS无法填充谷歌搜索字段

CasperJS is not working filling the google search field

本文关键字:搜索 字段 谷歌 填充 CasperJS      更新时间:2023-09-26

我正在使用CasperJS(带有slimerjs引擎)来填写表格。但这不起作用。

我用一个简单的谷歌脚本尝试了一下:

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%正确。。

谷歌根据用户代理、视口大小、cookie和其他指标提供不同的页面。您必须确保元素确实存在。您可以使用casper.exists()功能进行检查。

我发现谷歌搜索的一个好选择是"form[action='/search']",而不管引擎(PhantomJS或SlimerJS)和用户代理字符串(有或没有声明为IE)。