无法从选择框中选择选项

时间:2011-09-19 17:49:20

标签: selenium webdriver selenium-webdriver

无法使用selenium 2 firefox(或chrome)驱动程序选择选择框中的项目

<select id="activations_month" name="activations[month]">
<option value="April 2011">April 2011</option>
<option value="May 2011">May 2011</option>
<option value="June 2011">June 2011</option>
<option value="July 2011">July 2011</option>
<option value="August 2011">August 2011</option>
<option selected="selected" value="September 2011">September 2011</option>
</select>

选择dropDown = new选择(sDriver.findElement(By.id(“activations_month”))); dropDown.selectByValue(“2011年8月”);

我尝试按值,按索引,按可见文本和取消选择进行选择,所有这些都无法执行任何操作。我的try catch没有捕获异常它退出到testNG测试运行器并进入下一个方法

这样可以正常工作并返回正确的值

List<WebElement> options = dropDown.getOptions(); 

System.out.println(options.size());
System.out.println(options.get(0).getText());
System.out.println(options.get(1).getText());

2 个答案:

答案 0 :(得分:0)

这可能不是理想的解决方案,但为了保持这种简单(并使其工作),您是否尝试过实例化WebDriverBackedSelenium

driver = new FirefoxDriver();
selenium = new WebDriverBackedSelenium(driver, "your_url");

其次是常规 -

selenium.select("id=activations_month", "label=May 2011");
selenium.select("id=activations_month", "label=June 2011");

答案 1 :(得分:0)

这应该可以解决您的问题,无论它是什么。选择一个选项不是最好的方法,但它应该有效:

List<WebElement> options = dropDown.getOptions();
for(WebElement option : options)
{
    if( option.getAttribute("value").equals("August 2011") )
    {
        option.click();
        break;
    }
}