0

我正在尝试从 Dropbox 中选择一个值。我尝试过XPathID似乎无法达到它

这是我尝试过的

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>
4

2 回答 2

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();
}
于 2016-03-03T13:46:56.003 回答
0

尝试按值选择

var mySelectElm4 = driver.FindElement(By.Id("ddlCountryOfBirth"));
var mySelect4 = new SelectElement(mySelectElm4);
mySelect4.SelectByValue("TG");
于 2016-03-03T13:48:04.403 回答