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

问题描述 投票:0回答:2

如何使用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">[email protected]</option>
<option value="17">Dr Nair S Ajesh</option>
<option value="3">Benjamin</option>
<option value="5"></option>

</select>
</body>
</html>
webdriver cucumberjs webdriver-io
2个回答
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"
    })

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>
© www.soinside.com 2019 - 2024. All rights reserved.