如何使用webdriverjs(不是selenium-webdriverjs)从下拉列表中选择值

时间:2014-05-06 08:24:59

标签: webdriver cucumberjs webdriver-io

如何使用webdrivejs API选择/点击值。 我没有找到任何用于从下拉列表中选择值的直接API,有人可以帮助我。

<html>
<body>
<select id="appointment_provider_id" name="appointment[provider_id]" class="valid">

<option value="">Please select</option>
<option value="9" selected="selected">Garr Ty</option>
<option value="12">lydia</option>
<option value="15">Black Keith</option>
<option value="13">tanmay.bagchi@people10.com</option>
<option value="17">Dr Nair S Ajesh</option>
<option value="3">Benjamin</option>
<option value="5"></option>

</select>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

https://github.com/camme/webdriverjs/issues/161

.click('//*[@id="id"]/option[3]')
    .getValue('#select',function(err,val){
        console.log(val); // will output value of "3"
    })

答案 1 :(得分:0)

由于上面的问题标签包含Webdriver-io,我希望以下内容对某人有所帮助。

有两种方法可以做到这一点:

1)使用属性-> link to Webdriver-io docs

2)使用索引-> link to Webdriver-io docs

1)使用属性-从源代码中提取的代码(上面的链接):

it('Should demonstrate the selectByAttribute command', () => {
    const selectBox = $('#selectbox');
    const value = selectBox.getValue();
    console.log(value); // returns "someValue0"

    selectBox.selectByAttribute('value', 'someValue3');
    console.log(selectBox.getValue()); // returns "someValue3"

    selectBox.selectByAttribute('name', 'someName5');
    console.log(selectBox.getValue()); // returns "someValue5"
});
<select id="selectbox">
    <option value="someValue0">uno</option>
    <option value="someValue1">dos</option>
    <option value="someValue2">tres</option>
    <option value="someValue3">cuatro</option>
    <option value="someValue4">cinco</option>
    <option name="someName5" value="someValue5">seis</option>
</select>

2)使用索引-从源代码中提取的代码(上面的链接):

it('Should demonstrate the selectByIndex command', () => {
    const selectBox = $('#selectbox');
    console.log(selectBox.getValue()); // returns "someValue0"
    selectBox.selectByIndex(4);
    console.log(selectBox.getValue()); // returns "someValue4"
});
<select id="selectbox">
    <option value="someValue0">uno</option>
    <option value="someValue1">dos</option>
    <option value="someValue2">tres</option>
    <option value="someValue3">cuatro</option>
    <option value="someValue4">cinco</option>
    <option value="someValue5">seis</option>
</select>