即使在casperjs中assertExist为true,也找不到元素

时间:2014-04-15 08:30:02

标签: javascript jquery html casperjs

在我的申请中,我在casperjs面临一个问题。

我正在做的步骤如下。

1)首先我做断言,元素是否存在。

casper.then(function() {
    this.test.assertExists(
            { type: 'xpath', path: '//header[@id="masthead"]/section[3]/div/div/nav/ul[1]/li[2]/a[1]' },
            'the element exists'
    );
});

输出:传递

2)点击该元素

casper.then(function() {
    this.click(x('//header[@id="masthead"]/section[3]/div/div/nav/ul[1]/li[2]/a[1]'));
    this.echo('clicking product and services enter code here page');
});

输出:点击产品和服务页面

3)捕捉图像。

casper.then(function() {
    this.echo("Capturing image website");
    this.capture('images/po/productServices.png', {
            top: 0,
            left: 0,
            width: 0,
            height: 0
    });   
});

输出:当点击该元素时,图像不符合我想要的内容。

请帮我解决此问题。

谢谢, Narasaiah p

2 个答案:

答案 0 :(得分:1)

尝试在此处指定widthheight

width: viewport.viewport.width,
height: viewport.viewport.height

而不是:

width: 0,
height: 0

答案 1 :(得分:1)

点击后尝试使用等待指令-waitForSelector,waitForUrl,waitForText ...- in 3):

例如:

casper.waitForSelector('the selector to wait before taking the capture', function() {
    this.capture('images/po/productServices.png');
});