Selenium 无法从选择框中选择选项

Selenium 无法从选择框中选择选项,selenium,webdriver,selenium-webdriver,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"&

无法使用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>
选择下拉菜单=新建SelectsDriver.findElementBy.idactivations\u月; dropDown.SelectByValue2011年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());

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

其次是传统的——

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

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

其次是传统的——

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

这应该可以解决你的问题,不管它是什么。这不是选择选项的最佳方式,但应该可以:

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

这应该可以解决你的问题,不管它是什么。这不是选择选项的最佳方式,但应该可以:

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

更多信息:实际上进入selenium select代码本身它在xpath检查中找不到我的搜索字符串,一旦您输入selectByVisibleText方法,它似乎就用InvocationTargetException从select代码中跳出,testNG接管了更多信息:实际上进入selenium select代码本身—在xpath中找不到我的搜索字符串—检查它是否找到—一旦您输入selectByVisibleText方法,它似乎就用InvocationTargetException从选择代码中跳出,testNG遇到了过度的问题—问题是我已经导航到该页面,并且之前已经完成了几个步骤。所以我需要用selenium支持的web驱动程序编写整个测试。不理想。如果有帮助的话,我认为这是一个真正的selenium bug。这在一段时间前也有效这是我写的代码,我想说它在firefox更新中崩溃了,但我也更新了selenium模块;对于WebElement选项:getOptions{if match.equalOption.getAttributeindex{option.setSelected;if!isMultiple{return;}matched=true;}我在我的代码中要求索引3,如so->dropDown.selectByIndex3;我看到它一步一步地进行,在它匹配的索引上转到option.setSelected;并且失败到一个调用TargetException,该调用未在方法中处理,因此我在选择中完成,并返回到测试运行程序。思考?本文给出了与Selenium RC comman相当的方法ds-谢谢你,但这些是我正在使用的命令,它们似乎不起作用。问题是我之前已经导航到页面并完成了几个步骤。所以我需要用selenium支持的web驱动程序编写整个测试。不理想。如果有帮助的话,我认为这是一个真正的selenium错误。这在一段时间前也起了作用我写的代码是否有效?我想说它在firefox更新中崩溃了,但我也更新了selenium模块。如果我尝试按索引进行选择,我会将此代码放入selenium中,选择boolean matched=false;对于WebElement选项:getOptions{if match.equalOption.getAttributeindex{option.setSelected;if!isMultiple{return;}matched=true;}我在我的代码中要求索引3,如so->dropDown.selectByIndex3;我看到它一步一步地进行,在它匹配的索引上转到option.setSelected;并且失败到一个调用TargetException,该调用未在方法中处理,因此我在选择中完成,并返回到测试运行程序。思考?本文给出了与Selenium RC comman相当的方法ds-谢谢,但我使用的这些命令似乎不起作用。这确实起作用。我觉得我必须这样做很奇怪,因为selenium似乎天生就想让你用更少的代码进行选择。无论如何,谢谢你,如果有人知道我的原始代码失败的原因,让我知道嘿,杜卡迪,通常你尝试的方式是有效的。有问题您正在使用的页面可能有一些奇怪的地方。我见过一些页面特定的情况,其中selectbyvalue失败,因为根据selenium,元素不可见,即使它在浏览器中可见。这确实有效。我觉得我必须这样做很奇怪,因为selenium似乎天生希望让您使用较少的代码进行选择。一个如果有人知道我的原始代码失败的原因,请告诉我嘿,杜卡蒂,通常你尝试的方式是有效的。你正在使用的页面可能有一些怪癖。我见过一些页面特定的情况,其中selectbyvalue失败,因为根据selenium,元素不可见,即使它在浏览器中可见.