CasperJS找不到元素,即使我可以在开发人员工具中按CTRL-F它

CasperJS cannot find element even though I can CTRL-F it in Developer Tools

本文关键字:工具 CTRL-F 开发 元素 找不到 我可以 CasperJS      更新时间:2023-09-26
'use strict';
var casper = require('casper').create({verbose: true, logLevel: 'debug'});
var element = '/html/body/div[7]/nav/div[5]/div/div/div[2]/div[1]/form';
casper.start('http://store.nike.com/us/en_us/', function () {
    if(this.exists(element)) this.echo('Found it!');
});
casper.run(function() {
    this.exit();
});

好的,所以这个代码片段尽可能简单。我启动一个新的 CasperJS 实例,GET http://store.nike.com/us/en_us/,如果找到一个元素,则回显,然后退出。现在,我似乎无法理解的是为什么上面的代码在世界上找不到该元素(XPath(,但是如果我加载Chrome开发人员工具,我可以按Ctrl-F它。当我用 CSS 路径替换 XPath 时,结果相同。谁能开导我?我错过了什么?

你需要

使用CasperJS的XPath实用程序,因为element是一个XPath表达式而不是CSS选择器。

var x = require('casper').selectXPath;
casper.start('http://store.nike.com/us/en_us/', function () {
    if(this.exists(x(element))) this.echo('Found it!');
});