当前位置: 首页 > 知识库问答 >
问题:

如何使用Java在Selenium WebDriver中选择下拉列表值

臧俊杰
2023-03-14

我是selenium新手,目前正在开发selenium webdriver,我想从下拉列表中选择一个值。id=periodId,选项很多,我试图选择最后52周。

这是超文本标记语言代码:

<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>

请建议我单击下拉列表的一些方法。

我尝试了上面的示例行,但出现了错误,例如元素当前不可见,因此可能无法与命令持续时间或超时交互:32毫秒下拉列表值是jquery multiselect小部件格式。

共有2个答案

章光华
2023-03-14

如果你想把所有内容都写在一行中,试试看

new Select (driver.findElement(By.id("designation"))).selectByVisibleText("Programmer ");
况胡媚
2023-03-14

只需将您的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>

现在要识别下拉列表do

<代码>选择下拉菜单=新选择(驱动程序.删除(按.id(“指定”)))

要选择它的选项,请说“Programmer”,您可以这样做

<代码>下拉列表。选择VisibleText(“编程器”)

dropdown.selectByIndex(1);

 dropdown.selectByValue("prog");
 类似资料:
  • 下面给出了一段表示下拉列表的代码。我需要在此下拉列表中选择日期值,由<代码> 以下方法无效 1。)使用“按导入组织选择”选择此值。openqa。硒。支持用户界面。选择 控制台显示: 元素应该是“选择”,但应该是“选项” 2.)首先单击下拉列表以显示要选择的选项,然后单击该选项。 控制台显示: 调试元素缺少可访问的名称:id:类型,标记名:选择,类名:文本输入ng原始ng未触及ng有效ng范围 3.

  • 问题内容: 是selenium的新手,目前正在使用selenium webdriver,我想从下拉列表中选择一个值。id = periodId和选项很多,因为它试图选择“最近52周”。 这是HTML代码: 请为我建议一些单击下拉菜单的方法。 我尝试使用上面的示例行,但遇到诸如Element当前不可见等错误,因此可能无法与Command duration或timeout交互:32毫秒下拉列表值为jq

  • 问题内容: 下面给出的是一段代码,表示下拉列表。我需要在此下拉列表中选择 日期 值,表示为 遵循方法无效。 1.)使用“ 选择” 通过导入 org.openqa.selenium.support.ui.Select* 选择此值 * 控制台显示: 元素应该是“选择”但是“选项” 2.)首先单击下拉菜单以显示要选择的选项,然后单击该选项。 控制台显示: DEBUG元素缺少可访问的名称:id:类型,ta

  • 我想使用硒从选择字段中选择一个选项 HTML格式如下: 我尝试了以下方法: 我收到了这个错误: 硒。常见的例外情况。NoSuchElementException:消息:没有这样的元素:无法定位元素:{“方法”:“xpath”,“选择器”:”//*[@id=“Enable”]/option[value=“0”]}

  • 问题内容: 我需要使用cypress测试angularjs应用程序的下拉列表。 我需要单击一个下拉列表,然后从下拉列表中选择或单击一个项目。我尝试如下所示,它只能在一个实例上使用,而不能在其他情况下使用,因为第二个get()方法中的ID号随着其动态生成而不断变化。这不是带有html中选项的标准选择。 1)无论如何,我可以在每个选项上设置一个唯一属性并仅选择所需的属性,还是可以仅基于列表项的描述进行

  • 问题内容: 我创建了一个客户c#DropDownList控件,可以将其内容呈现为optgroup(不是从头开始,我编辑了一些在Internet上找到的代码,尽管我确切地了解了它的作用),并且工作正常。 但是,我现在遇到一种情况,我需要在下拉菜单中有两个缩进级别,即 但是,在上面的示例代码段中,它呈现的缩进量与相同。 有没有一种方法可以产生我想要的嵌套optgroup行为? 问题答案: 好的,如果有