如何使用Java在Selenium WebDriver中select下拉值
selenium是新来的,目前正在工作在seleniumwebdriver我想从下拉列表中select一个值。 ID = periodId和选项是很多,在试图select过去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>
请build议我点击下拉菜单。
我试着用上面的例子行,但得到错误,如元素是目前不可见,所以可能不会与命令持续时间或超时交互:32毫秒的下拉列表值是jQuery多选控件的格式
只需将您的WebElement包装到Select Object中,如下所示
Select dropdown = new Select(driver.findElement(By.id("identifier")));
一旦完成,您可以通过3种方式select所需的值。 考虑一个像这样的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")));
要select它的选项说'程序员',你可以做
dropdown.selectByVisibleText("Programmer ");
要么
dropdown.selectByIndex(1);
要么
dropdown.selectByValue("prog");
如果你想在一行写所有尝试
new Select (driver.findElement(By.id("designation"))).selectByVisibleText("Programmer ");
如上所述,我们需要在Selenium中实现Select类,进一步我们可以使用各种可用的方法,如:
在selenium中,从下拉菜单中select随机值。
实际上, select
会select,但不会将选定的值放到相应的字段中。 在哪里想知道下面的片段完美的作品
driver.findElement(By.name("period")).sendKeys("Last 52 Weeks");
代码来select下拉菜单
selectselect = new Select(driver.findElement(By.xpath(“// select [@ id ='periodId']));
代码来selectparticaular选项
select.selectByVisibleText(Last 52 Weeks);
您可以使用以下方法处理selenium中的下拉菜单。
- driver.selectByVisibleText( “文本”);
- driver.selectByIndex(1);
- driver.selectByValue( “PROG”);
欲了解更多详情,可以参考http://www.codealumni.com/handle-drop-selenium-webdriver/这篇文章。;
它肯定会帮助你解决你的查询。
同意KodS的回复。 另外,你需要导入org.openqa.selenium.support.ui.Select; select工作。
WebDriver driver = new FirefoxDriver(); WebElement identifier = driver.findElement(By.id("periodId")); Select select = new Select(identifier); select.selectByVisibleText("Last 52 Weeks");
我还没有尝试在selenium,但对盖伦testing这是工作,
var list = driver.findElementByID(“periodID”); //这将返回web元素
list.click(); //这将打开下拉列表。
list.typeText( “14瓦特”); //这将select选项“14w”。
您可以在selenium试试这个,盖伦和selenium工作是相似的。
首先将软件包导入为:
import org.openqa.selenium.support.ui.Select;
然后写在单行中作为:
new Select(driver.findElement(By.id(“sampleid”)))。selectByValue(“SampleValue”);
尝试这个:
driver.findElement(By.name("period")).sendKeys("Last 52 Weeks");