2016-03-03 56 views
0

我試圖從保管箱中選擇一個值。我曾嘗試與XPathID,但似乎無法達成它無法從Selenium中的保管箱列表中選擇值

這是我試過

var mySelectElm4 = driver.FindElement(By.Id("ddlCountryOfBirth")); 
var mySelect4 = new SelectElement(mySelectElm4); 
mySelect4.SelectByText("Togo"); 

而且這個HTML

<div class="form-object"> 
    <span class="error-star"></span> 
    <div class="field-description input-placeholder styled field-description-show">Country of birth</div> 
    <div class="field field-select"> 
    <select name="ctl00$plcMainArea$ddlCountryOfBirth" class="field-data selectCustom watermark hasValue" validate="validate" data-rule-required="true" data-msg-required="This field is required." placeholder="Country of birth" id="ddlCountryOfBirth"> 
     <option value="AF">Thailand</option> 
     <option value="BS">The Bahamas</option> 
     <option value="GM">The Gambia</option> 
     <option value="TG">Togo</option> 
     <option value="TK">Tokelau</option> 
     <option value="TO">Zambia</option> 
     <option value="ZW">Zimbabwe</option> 
    </select> 
    <span class="selectCustomBox"> 
     <span class="selectCustomBoxInner">Afghanistan</span> 
    </span> 
    </div> 
    <div id="ddlCountryOfBirth_e" class="error-message"></div> 
    <div class="clearfix"></div> 
</div> 

回答

0

試試:

public void SelectIn(By by, string value) 
{ 
    //code here to wait the element be displayed 

    //after, the method will select the dropdown with the wanted value 
    var dropDownListBox = _driver.FindElement(by); 
    var clickThis = new SelectElement(dropDownListBox); 
    clickThis.Options.First(o => 
     o.GetAttribute("id") == value || 
     o.Text.Equals(value) || 
     o.GetAttribute("value") == value) 
    .Click(); 
} 
0

嘗試按值選擇

var mySelectElm4 = driver.FindElement(By.Id("ddlCountryOfBirth")); 
var mySelect4 = new SelectElement(mySelectElm4); 
mySelect4.SelectByValue("TG"); 
+0

問題是第一行,我似乎無法找到... – AutDev

+0

@AutDev iframe中的下拉菜單? – Guy

+0

不,我不這麼認爲......如果那樣的話會改變什麼? – AutDev

相關問題