4

有什么方法可以移动jQuery UI – Slider with CasperJS吗?

我在寻找只需单击滑块的左侧或右侧移动手柄的可能性时也发现了这个github 问题。但这对我也不起作用。

任何想法?

4

2 回答 2

0

移动滑块的工作方式如下:

casper.mouse.down(100,100);
casper.mouse.move(200,200);
casper.mouse.up(200,200);

casper.capture('test1.jpg');

在三个鼠标线之前和之后调用,您应该会看到差异。

于 2014-07-24T20:42:34.743 回答
0

这是一个完整的演示:

// test_slider.js

var casper = require('casper').create(),
    mouse = require('mouse').create(casper),
    utils = require('utils');

casper.start('http://jqueryui.com/resources/demos/slider/default.html')
      .then(function() {
        var slider = this.getElementBounds('.ui-slider');
        var handle = this.getElementBounds('.ui-slider-handle');

        this.echo('=== BEFORE ===', 'INFO');
        this.echo(this.getElementAttribute('.ui-slider-handle', 'style'));
        this.capture('before.png');

        this.echo('=== DRAGGING ===', 'INFO');
        this.mouse.down('.ui-slider-handle');
        this.mouse.move(slider.left + slider.width / 2, slider.top + slider.height / 2);
        this.mouse.up('.ui-slider-handle');

        this.echo('=== AFTER ===', 'INFO');
        this.echo(this.getElementAttribute('.ui-slider-handle', 'style'));
        this.capture('after.png');
      })
      .run();

结果

$ casperjs test_slider.js
=== BEFORE ===
left: 0%;
=== DRAGGING ===
=== AFTER ===
left: 50%;
于 2015-11-20T04:24:10.163 回答