下拉没有被选中

时间:2017-03-17 06:15:28

标签: selenium dropdown selenium3

我正在研究selenium 3,我正在解决下拉菜单问题....是否有硒3的解决方案可以从下拉列表中进行选择?

public static void main(String[] args) throws IOException {

     WebDriver driver = new FirefoxDriver();
     String baseUrl = "http://newtours.demoaut.com";
     driver.manage().window().maximize();
     driver.get(baseUrl);

     driver.findElement(By.name("userName")).sendKeys("rubric2016");
     driver.findElement(By.name("password")).sendKeys("rubric2016");

     driver.findElement(By.name("login")).click();

     Select dropdown = new Select(driver.findElement(By.name(“fromMonth"))); 
     dropdown.selectByVisibleText(“March");


 }
}

当我执行上面的代码时,下拉列表没有被选中?

1 个答案:

答案 0 :(得分:0)

试试这种方式。

点击wait后点击login button。等待我使用explicit wait方法。

例如,从下拉列表中我想选择April个月,并使用xpath定位器查找dropdown element

我在这里使用relative xpath方法来找到下拉元素。

如果您想从下拉列表中选择另一个月,则只需更改selectByVisibleText("Your Month");

即可
driver.get("http://newtours.demoaut.com");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

driver.findElement(By.name("userName")).sendKeys("rubric2016");
driver.findElement(By.name("password")).sendKeys("rubric2016");

driver.findElement(By.name("login")).click();

WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//form/table/tbody/..//select[@name='fromMonth']"))));
new Select(driver.findElement(By.xpath("//form/table/tbody/..//select[@name='fromMonth']"))).selectByVisibleText("April");