【发布时间】:2017-02-15 06:03:52
【问题描述】:
我有这个sn-p。我正在尝试计算/打印country 列表框下列出的所有选项。
<select id="country" class="text-box drop-down-list ng-pristine ng-not-empty ng-valid ng-valid-required ng-touched" ng-class="{'text-box-error': form.country.$touched && form.country.$invalid}" ng-options="country.name as country.name for country in countries" ng-model="mv.country" name="country" required="" style="">
<option translate="CUSTOMER_SUPPORT_COUNTRY_SELECT" value="" selected="selected">Select One</option>
<option label="Afghanistan" value="string:Afghanistan">Afghanistan</option>
<option label="Aland Islands" value="string:Aland Islands">Aland Islands</option>
<option label="Albania" value="string:Albania">Albania</option>
<option label="Algeria" value="string:Algeria">Algeria</option>
<option label="American Samoa" value="string:American Samoa">American Samoa</option>
<option label="Andorra" value="string:Andorra">Andorra</option>
<option label="Angola" value="string:Angola">Angola</option>
<option label="Anguilla" value="string:Anguilla">Anguilla</option>
<option label="Antarctica" value="string:Antarctica">Antarctica</option>
<option label="Antigua and Barbuda" value="string:Antigua and Barbuda">Antigua and Barbuda</option>
<option label="Argentina" value="string:Argentina">Argentina</option>
虽然列表框有很多,但我被算作“1”。
WebElement X = driver.findElement(By.id("country"));
Select s=new Select(X);
List<WebElement> elementCount = s.getOptions();
int itemSize = elementCount.size();`enter code here`
System.out.println(itemSize);
for(int i = 0; i < itemSize ; i++){
String optionsValue = elementCount.get(i).getText();
System.out.println(optionsValue);
【问题讨论】:
-
您忘记关闭
-
检查您是否有另一个带有
id="country"的元素 -
@Darshan - 不,我只是复制了 HTML 的一部分,因为列表框列出了大约 40 个选项。
-
@Guy - 没有一个匹配节点 id="country"
-
由于您在选择标签中使用了 ng-options,因此需要从 java 脚本加载选项。所以尝试在 Select s=new Select(X) 或 WebElement X 之前给一些等待时间。
标签: java eclipse selenium selenium-webdriver