Javascript Casperjs然后单击打开datepicker,但无法检索日历中的任何内容

Javascript Casperjs然后单击打开datepicker,但无法检索日历中的任何内容,javascript,xpath,datepicker,phantomjs,casperjs,Javascript,Xpath,Datepicker,Phantomjs,Casperjs,我试图从jQueryUI日期选择器日历中获取日期信息 日历上有几天有可点击的链接 我想要那些链接 日历对网站上的人来说很好,但是CasperJS无法访问其中的数据,即使casper。然后单击…日历的xpath。。。实际上是打开日历 我的意思是,我可以通过casper.capture查看空日历 使用Chrome,我可以找到我需要的XPath,没有问题 为什么我不能让CasperJS获取datepicker日历中的数据 代码如下: var casper=require'casper'。创建; var

我试图从jQueryUI日期选择器日历中获取日期信息

日历上有几天有可点击的链接

我想要那些链接

日历对网站上的人来说很好,但是CasperJS无法访问其中的数据,即使casper。然后单击…日历的xpath。。。实际上是打开日历

我的意思是,我可以通过casper.capture查看空日历

使用Chrome,我可以找到我需要的XPath,没有问题

为什么我不能让CasperJS获取datepicker日历中的数据

代码如下:

var casper=require'casper'。创建; var utils=需要“utils”; var x=require'casper'。选择XPath; 用户代理的Mozilla/5.0 Windows;UWindowsNT6.1;rv:2.2壁虎/20110201'; 卡斯珀,开始吧http://www.hawaiifoodtours.com/north-shore-food-tour/'; 卡斯珀函数{ //点击第一个结果链接 点击“date_a6130”; 日志“点击日历”; }; casper.wait1000,函数{ 捕获'theCalendar.png'; //这是Chrome给我的XPath。没问题。 var stuff=casper.getElementsInfox'/*[@id=dp1444234738328]/div/table/tbody'; utils.dumpstuff; }; casper.run; 我根据Artjom B的建议添加错误消息:

ResourceError: { "errorCode": 2, "errorString": "Connection closed", "url": "https://www.hawaiifun.org/reservation/common/jquery/css/ui-lightness-1.10.3.css" } ResourceError: { "errorCode": 2, "errorString": "Connection closed", "url": "https://www.hawaiifun.org/reservation/common/datepicker_availability.css" } clicked on calendar ResourceError: { "errorCode": 2, "errorString": "Connection closed", "url": "https://www.hawaiifun.org/reservation/companyservlet?callback=jQuery19102756042554974556_1444269910798&action=COMMON_AVAILABILITYCHECKJSON&activityid=6130&agencyid=0&blocksonly=false&year_months=2015_10&webbooking=true&hawaiifunbooking=false&agencybooking=false&minavailability=&_=1444269910799" } CasperError: Cannot get information from xpath selector: //*[@id="dp1444234738328"]/div/table/tbody/tr[5]/td[3]/a: no elements found.
运行代码后,我收到以下错误:

clicked on calendar
CasperError: Cannot get information from xpath selector: //*[@id="dp1444234738328"]/div/table/tbody: no elements found.
  /home/user/phantomjs:/platform/casper.js:1173 in getElementsInfo
  /home/user/phantomjs:/code/casperjs.js:17
  /home/user/phantomjs:/platform/casper.js:2368 in _check
通过将XPath选择器更改为/*[@class=ui datepicker calendar]/tbody,我可以无错误地运行程序

以下是完整的工作程序:

注意:我将CasperJS 1.1.4与PhantomJS 2.1.1一起使用


你有什么幻影JS版本?请注册到resource.error、page.error、remote.message和casper.page.onResourceTimeout事件。可能有错误。phantomjs-版本1.9.0。。。。。。casperjs-Version1.1.0-beta31.9.0非常旧。尝试更新到2.0.0、1.9.8或1.9.7。如果您正在尝试1.9.7或更低版本,则可以尝试在脚本参数之前添加-ignore ssl errors=true-ssl protocol=any作为命令行选项。
var casper = require('casper').create();
var utils = require('utils');
var x = require('casper').selectXPath;

casper.userAgent('Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201');

casper.start('http://www.hawaiifoodtours.com/north-shore-food-tour/');

casper.then(function () {
  // Click on the 1st Result Link
  this.click('#date_a6130');

  this.echo('clicked on calendar');
});

casper.wait(1000, function () {
  casper.capture('theCalendar.png');

  // Updated XPath
  var stuff = casper.getElementsInfo(x('//*[@class="ui-datepicker-calendar"]/tbody'));

  utils.dump(stuff);
});

casper.run();