0
我正嘗試使用Selenium2/WebDriver從下拉菜單中選擇一個選項。我有以下代碼:如何使用Selenium 2/Web Driver javascript API從選擇下拉菜單中選擇一個選項?
clickCss: function(selector, timeout, dontMoveAfter, finalKey) {
var browser = this.browser;
timeout = timeout || 10000;
var element;
return function(done) {
async.waterfall([
function(cb) {
browser.waitForVisibleByCssSelector(selector, timeout, cb);
},
function(cb) {
browser.elementByCssSelector(selector, cb);
},
function(el, cb) {
element = el;
element.click(cb);
},
function(cb) {
if (dontMoveAfter) {
cb();
} else {
browser.moveTo(element, 0, -50, cb);
}
},
function(cb) {
if (finalKey) {
browser.keys(wd.SPECIAL_KEYS[finalKey], cb);
} else {
cb();
}
},
], done);
};
},
changeAndVerifyStatus: function(){
var w = this;
return function(done){
async.waterfall([
w.clickCss(dropdownSelector,null,true),
w.clickCss(optionSelector,null,true),
], done);
};
},
正如你看到的,我只是單擊下拉選擇,然後點擊選項選擇。結果是,它成功點擊下拉列表,以便顯示選項列表,然後我可以看到我想要單擊的選項被突出顯示,但似乎沒有實際點擊它,因爲JavaScript操作當下拉改變時發生的事情從未被解僱。我嘗試了多種方法,但似乎並沒有想要更改下拉菜單。有什麼想法嗎?
謝謝,史蒂夫。是的,這就像一個魅力。 –
很高興幫助:) –
有趣的是,它實際上起作用,因爲webdriver應該模擬用戶行爲.....並且用戶將首先點擊選擇第一,然後選擇......... – Akbar