我正在尝试从下拉列表中获取所有选项元素,并在下拉列表中显示每个选项的文本。但是文字没有显示出来。如何获取下拉列表中选项的文本?
这是我到目前为止所尝试的:
WebDriver d = new FirefoxDriver();
d.navigate().to("https://www.salesforce.com/form/signup/freetrial-sales.jsp?d=70130000000EqoP&internal=true");
Select s = new Select(d.findElement(By.id("CompanyEmployees")));
List<WebElement> options = s.getOptions();
for(WebElement option : options){
System.out.println(option.getAttribute("title"));
System.out.println(option.getText());
}
这是HTML:
<li class=" type-select">
<div class="control-container ">
<div class="label">
<span class="required-marker">*</span>
<label for="CompanyEmployees" id="CompanyEmployees_lbl">Employees</label>
</div>
<div class="field">
<select name="CompanyEmployees" id="CompanyEmployees">
<option value="">Employees</option>
<option value="3" title="1 - 5 employees">1 - 5 employees</option>
<option value="12" title="6 - 20 employees">6 - 20 employees</option>
<option value="50" title="21 - 100 employees">21 - 100 employees</option>
<option value="250" title="101 - 500 employees">101 - 500 employees</option>
<option value="2000" title="501 - 3,500 employees">501 - 3,500 employees</option>
<option value="3500" title="3,501+ employees">3,501+ employees</option>
</select>
</div>
<div class="info">
<label for="CompanyEmployees__c" id="CompanyEmployees_lel">Select the number of employees</label>
<img src="https://secure2.sfdcstatic.com/common/assets/images/error-icon.png" alt="" border="0">
</div>
</div></li>
提前致谢。
答案 0 :(得分:0)
我使用了你的代码并且工作正常。我能够看到文本在我的控制台上打印出来。你正在使用哪个webdriver版本?我在2.38版本上查了一下。
答案 1 :(得分:0)
使用以下代码
Select sel = new Select(element);
List<WebElement> list = sel.getOptions();
for(int i=0;i<list.size(); i++)
{
System.out.println(list.get(i).getText());
}
如果可能,也可以发布html代码。如果下拉列表不包含select标记,则无法使用select class。
答案 2 :(得分:0)
尝试:
List<WebElement> elements = driver.findElements(By.xpath("//select[@id='CompanyEmployees']//option"));
for (WebElement element : elements) {
element.getText();
}
或者:
WebElement yourSelect = driver.findElement(By.id("CompanyEmployees"));
List<WebElement> elements = new Select(yourSelect).getOptions();
for (WebElement element : elements) {
element.getText();
}
如何获取选择选项文字:
WebElement yourSelect = driver.findElement(By.id("CompanyEmployees"));
String text = new Select(yourSelect ).getFirstSelectedOption().getText();