是selenium的新手,目前正在使用selenium webdriver,我想从下拉列表中选择一个值。id = periodId和选项很多,因为它试图选择“最近52周”。
这是HTML代码:
<select id="periodId" name="period" style="display: none;"> <option value="l4w">Last 4 Weeks</option> <option value="l52w">Last 52 Weeks</option> <option value="daterange">Date Range</option> <option value="weekrange">Week Range</option> <option selected="" value="monthrange">Month Range</option> <option value="yeartodate">Year To Date</option> </select>
请为我建议一些单击下拉菜单的方法。
我尝试使用上面的示例行,但遇到诸如Element当前不可见等错误,因此可能无法与Command duration或timeout交互:32毫秒下拉列表值为jquery multiselect小部件格式。
只需将你的WebElement包装到Select Object中,如下所示
Select dropdown = new Select(driver.findElement(By.id("identifier")));
完成此操作后,你可以通过3种方式选择所需的值。考虑这样的HTML文件
<html> <body> <select id = "designation"> <option value = "MD">MD</option> <option value = "prog"> Programmer </option> <option value = "CEO"> CEO </option> </option> </select> <body> </html>
现在确定下拉菜单
Select dropdown = new Select(driver.findElement(By.id("designation")));
要选择其选项,请说“程序员”,你可以执行
dropdown.selectByVisibleText("Programmer ");
要么
dropdown.selectByIndex(1);
dropdown.selectByValue("prog");