如何使用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>
答案 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>