我正在研究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");
}
}
当我执行上面的代码时,下拉列表没有被选中?
答案 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");