我试图从保管箱中选择一个值。我尝试使用XPath
和ID
,但似乎无法联系到它
这就是我试过的
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 :(得分: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();
}
答案 1 :(得分:0)
尝试按值选择
var mySelectElm4 = driver.FindElement(By.Id("ddlCountryOfBirth"));
var mySelect4 = new SelectElement(mySelectElm4);
mySelect4.SelectByValue("TG");