我有这个片段。我正在尝试计算/打印列表框下列出的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);
谢谢@guy,您的建议解决了我的问题。我在选择语句之后添加了等待语句-thread.sleep((,它可以工作。
WebElement X = driver.findElement(By.id("country"));
Select s=new Select(X);
List<WebElement> elementCount = s.getOptions();
Thread.sleep(2000);
int itemSize = elementCount.size();
/* System.out.println(itemSize);
for(int i = 0; i < itemSize ; i++){
String optionsValue = elementCount.get(i).getText();
System.out.println(optionsValue);
当我们在 select tag 中使用 ng-options 时,需要从 java 脚本加载选项。因此,元素将被加载,但选项需要一些时间才能从java脚本加载。通过使用一些等待时间可以避免这种情况。