如何在jquery或capybara上设置滑块值

如何在jquery或capybara上设置滑块值,jquery,twitter-bootstrap,selenium,capybara,Jquery,Twitter Bootstrap,Selenium,Capybara,我正在尝试设置滑块值,但无法管理它。我正在使用水豚,硒驱动程序。html代码是: <div class="pslide-container"> <div class="slider slider-horizontal" id=""> <div class="slider-track"> <div class="slider-selection" style="left: 0%; width: 100%;"&

我正在尝试设置滑块值,但无法管理它。我正在使用水豚,硒驱动程序。html代码是:

<div class="pslide-container">
    <div class="slider slider-horizontal" id="">
        <div class="slider-track">
            <div class="slider-selection" style="left: 0%; width: 100%;"></div>
            <div class="slider-handle min-slider-handle triangle" tabindex="0" style="left: 0%;"></div>
            <div class="slider-handle max-slider-handle triangle" tabindex="0" style="left: 100%;"></div>
        </div>
        <div class="tooltip tooltip-main top hide" style="left: 50%; margin-left: 0px;">
            <div class="tooltip-arrow"></div>
            <div class="tooltip-inner">9 : 693</div>
        </div>
        <div class="tooltip tooltip-min top hide" style="left: 0%; margin-left: 0px;">
            <div class="tooltip-arrow"></div>
            <div class="tooltip-inner">9</div>
        </div>
        <div class="tooltip tooltip-max hide top" style="top: -30px; left: 100%; margin-left: 0px;">
            <div class="tooltip-arrow"></div>
            <div class="tooltip-inner">693</div>
        </div>
    </div>
    <input id="priceselect" type="text" class="span2 priceslider" value="9,693" data-slider-min="90" data-slider-max="693" data-slider-step="5" data-slider-value="[9,693]" data-slider-handle="triangle" data="value:'9,693'" style="display: none;">
        <b class="pull-left">
            <span id="minvalue">9</span>&nbsp;TL

        </b>
        <b class="pull-right">
            <span id="maxvalue">693</span>&nbsp;TL

        </b>
    </div>
</div>
引导滑块信息:

/* ========================================================= * bootstrap-slider.js * * Maintainers: * Kyle Kemp * - Twitter: @seiyria * - Github: seiyria * Rohit Kalkur * - Twitter: @Rovolutionary * - Github: rovolution * * ========================================================= /* ========================================================= *bootstrap-slider.js * *维护人员: *凯尔肯普 *-推特:@seiyria *-Github:seiyria *罗希特卡尔库尔 *-推特:@Rovolutionary *-Github:rovolution * * =========================================================
由于您使用的是seiyria提供的引导滑块,因此可以看到使用jQuery的说明

通过浏览文档和示例,我认为以下内容可以满足您的需要

$('#priceselect').slider('setValue', [0,80])
所以要从水豚身上做到这一点

page.execute_script("$('#priceselect').slider('setValue', [0,80])")
如果希望触发幻灯片和更改事件,可以将true传递给2个可选参数,因此

page.execute_script("$('#priceselect').slider('setValue', [0,80], true, true)")

设置新值时将同时触发幻灯片和更改事件

是否仅尝试了“值”?或<代码>$(“#滑块”)。滑块(“选项”、“值”、“新值”)@ahervin它不工作,我们也有引导。IIRC引导默认情况下没有滑块控件,所以您使用的是什么滑块小部件?@TomWalpole很抱歉不确定。不知道您使用的是什么小部件,或者如果您有自定义JS运行滑块,告诉你如何设置它的值几乎是不可能的。这可以用来更改滑块的值,但它不像手动设置那样有效。它不是过滤价格表。您的过滤触发的是什么JS事件?您可以使用setValue触发器幻灯片和更改事件--添加详细信息以回答问题-您可以在此处查看引导滑块支持的功能-然后您需要弄清楚您实际触发过滤的事件是什么,因为这些事件应该是相同的当手动移动滑块时,小部件会产生什么,就像一个魔咒!
page.execute_script("$('#priceselect').slider('setValue', [0,80], true, true)")