获取下拉列表的最后一个选项

时间:2014-04-10 14:52:18

标签: javascript casperjs

我似乎无法选择下拉列表中的元素并让页面识别更改。并且随着选项值的生成,我无法直接点击它们,但必须通过某种索引/数字进行选择。

因此,当我使用此代码选择第二个选项时:

casper.evaluate(function()
{
    document.querySelector('select[id="sub-product-select"]').selectedIndex = 2;
    return true;
});

第二个选项已设置 - 但页面无法识别更改,也不会更改某些依赖值,例如价格或激活"购买"相同形式的按钮。

下拉选项如下所示:

<form id="form-product-add-to-cart" action="/cart/add">
    <select id="sub-product-select">
        <option value=""></option>
        <option value="02T01S1-01"></option>
        <option value="02T01S1-02"></option>
        <option value="02T01S1-03"></option>


所以问题是: 如何不仅选择第二个条目,而且让页面识别它就像点击它或得到一个&#34; return&#34;选择后?

1 个答案:

答案 0 :(得分:0)

嗯,对我来说,这段代码可行:

this.mouse.down("select#sub-product-select");//press left button 
this.mouse.up('select#sub-product-select > option:nth-of-type(2)');//release left button

您的选择器是否独一无二?你如何检查变化?尝试使用slimerJS实时查看它们(按下/释放点击)。