HTML内容:
<select id="modalNewUser-body-information-timeZone" class="span12 ng-valid ng-dirty" ng-options="timezone for timezone in timezoneList" ng-model="newUser().timeZone" uid="timeZone" name="timezone">
<option selected="" value="">-- Select One --</option>
<option value="0">AST</option>
<option value="1">EST</option>
<option value="2">CST</option>
<option value="3">MST</option>
<option value="4">PST</option>
<option value="5">YST</option>
<option value="6">HST</option>
</select>
假设我选择了&#39; EST&#39;从列表框中如何检索它? 我无法使用getFirstSelectedOption()。getText()
进行检索选择select = new选择(driver.findElement(By.id(&#34; modalNewUser-body-information-timeZone&#34;))); select.selectByVisibleText(&#34; EST&#34); String timeZone = select.getFirstSelectedOption()。getText();
答案 0 :(得分:1)
据我了解,只有在实际选择&#39;时才能使用Select元素。标签。通常情况下,看起来像下拉框的东西并不像Select元素那样真实。如果你试图以这种方式获取文本会怎么样(我在这里使用C#,但我相信Java只有不同的大写字母,我相信):
string timeZone = driver.FindElement(By.XPath("//option[@value = '1']")).Text;
预期回报:&#34; EST&#34;
答案 1 :(得分:0)
你可以试试这个:
$("#modalNewUser-body-information-timeZone option:selected").text();
答案 2 :(得分:0)
您提供的代码对我来说很好。
您能否请更新您的硒版本并重试?
以下是经过测试的代码:
Select select = new Select(abhiDriver.findElement(By.id("modalNewUser-body-information-timeZone")));
select.selectByVisibleText("EST");
String timeZone = select.getFirstSelectedOption().getText();
System.out.println(timeZone);