无法使用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());
答案 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;
}
}