使用webdriver.js,如何获取<select>的选定选项?

Off*_*rmo 3 javascript selenium selenium-webdriver

很多java和C#的答案,但我找不到如何在javascript中做到这一点.似乎API不同......

Chr*_*anB 5

是的,这是可能的.假设我们有以下select元素:

<select name="test" id="select">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
Run Code Online (Sandbox Code Playgroud)

您可以使用getValue获取当前选定的选项,并可以使用单击更改选择.这是一个简单的例子:

var webdriverjs = require('webdriverjs'),
    client      = webdriverjs.remote({desiredCapabilities:{browserName:'phantomjs'}}).init();

client
    .url('http://localhost:8080')
    .getValue('#select',function(err,val){
        console.log(val); // will output "1"
    })
    .click('//*[@id="select"]/option[3]')
    .getValue('#select',function(err,val){
        console.log(val); // will output "3"
    })
    .end();
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.

干杯