我正在尝试让我的Selenium脚本点击下拉菜单中的值。但是,在我最初点击它之后,我无法在下拉列表中执行任何操作。我已经在线查看,如果下拉列表是“选择”,则只能找到答案。
以下是下拉列表的HTML:
<span class="select2-selection__rendered" title="1st item"
id="select2-id_template_or_inspection-container">
</span>
以下是我点击下拉列表的代码段:
//Choose a Template from Dropdown
WebElement dropdownBtn = webDriver.findElement(
By.id("select2-id_template_or_inspection-container"));
dropdownBtn.click();
以下是我尝试点击下拉列表中的值的代码段:
WebElement dropdownItemBtn = webDriver
.findElement(By.id("select2-id_template_or_inspection-result-hlwt-tmpl-2583"));
dropdownItemBtn.click();
但是,每次重新加载页面时,下拉列表中的值的ID都会更改。
我很感激帮助!
答案 0 :(得分:0)
您可以尝试这种方法:
这就是您所做的,点击跨度以显示其下拉项目
//Choose a Template from Dropdown
WebElement dropdownBtn = webDriver.findElement(By.id("select2-id_template_or_inspection-container"));
dropdownBtn.click();
由于每次重新加载页面时都会更改下拉列表中值的ID,因此您可以使用dropdownBtn
查找其子项目作为下拉项目,然后单击您想要的下拉列表:
List<WebElement> dropdownItems = dropdownBtn.findElements(By.tagName("tagNameOfDropdownItems"));
dropdownItems.get(0).click(); // click on first Dropdown, for example
由于ID是动态更改的,因此我们尝试按tagName
查找元素。希望它有所帮助。