将jar文件更新到selenium 3.0后无法选择下拉选项
我在更新新的selenium 3.0 beta
jar文件后使用以下代码。 然而,在早期版本的selenium中它完美地运作。
我更新了,因为它给出了错误:
org.openqa.selenium.NoSuchElementException:找不到索引的选项:1
有关此错误的文档,请访问: http ://seleniumhq.org/exceptions/no_such_element.html构建信息:版本:’未知’,修订版:’2aa21c1’,时间:’2016-08-02 14:59:43 -0700’系统信息:主机:’GUR-ITD-8C’,ip:’172.21.45.117’,os.name:’Windows 7’,os.arch:’amd64’,os.version:’6.1’,java .version:’1.8.0_31’驱动程序信息:driver.version:未知
expedia.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); Select LineOfBusiness = new Select(expedia.findElement(By.id("lineOfBusiness"))); LineOfBusiness.selectByIndex(1); Assert.assertEquals(LineOfBusiness.getFirstSelectedOption().getText(), "HWW Sales");
我不确定在使用Select
类的情况下会出现什么问题,但是如果你想要一个替代解决方案摆脱这个错误,你可以尝试使用如下的JavascriptExecutor
: –
public static String selectByIndex(WebDriver driver, WebElement select, int index) { String javaScript = "var select = arguments[0]; " + "select.options[arguments[1]].selected = true;" + "return select.selectedOptions[0].text"; return (String) ((JavascriptExecutor) driver).executeScript(javaScript, select, index); } WebElement select = expedia.findElement(By.id("lineOfBusiness")); Assert.assertEquals(selectByIndex(expedia, select, 1), "HWW Sales");
- 在Java中使用Unsigned int 32位?
- Spring session + Spring web socket。 根据会话ID将消息发送到特定客户端
- Hibernate – TypedQuery.getResultList()返回同一对象的列表
- Spring安全性:期望只为类型接口找到一个bean org.springframework.security.authentication.AuthenticationManager
- 如何使用JPA在实体内部持久保存Map(java.util.Map)对象并确保持久性级联?
- 如何对预期在applet安全管理器中运行的Java代码进行unit testing
- 用Java抽象数组的维数
- 在Tomcat 7上运行的Web应用程序中的NoClassDefFoundError
- 使用MockServletContext进行unit testing