【发布时间】:2018-06-04 14:42:46
【问题描述】:
我试图让我的 Selenium 脚本点击下拉菜单中的一个值。但是,在我最初单击下拉列表后,我无法在下拉列表中执行任何操作。我在网上查过,只有当下拉菜单是“选择”时才能找到答案。
这是下拉列表的 HTML:
<span class="select2-selection__rendered" title="1st item"
id="select2-id_template_or_inspection-container">
</span>
这是我点击下拉菜单的代码 sn-p:
//Choose a Template from Dropdown
WebElement dropdownBtn = webDriver.findElement(
By.id("select2-id_template_or_inspection-container"));
dropdownBtn.click();
这是我尝试单击下拉列表中的值的代码 sn-p:
WebElement dropdownItemBtn = webDriver
.findElement(By.id("select2-id_template_or_inspection-result-hlwt-tmpl-2583"));
dropdownItemBtn.click();
但是,每次重新加载页面时,下拉列表中值的 ID 都会发生变化。
感谢您的帮助!
【问题讨论】:
-
请创建一个Minimal, Complete, and Verifiable example,其中包含您用来尝试完成此任务的脚本。如有必要,还要标记您的脚本编写的语言。
-
谢谢!我已经更新了问题
-
您能否也包含此下拉列表所在的 URL?如果 ID 发生变化,那么您将不得不尝试使用其他方式选择元素,例如 CSS 选择器。
-
@Long,下拉列表至少包含选项,您给定的 HTML 代码不包含选项列表的 HTML 代码。请找出它们并更新问题(不在评论中)。如果您找不到它们,请提供一个公共 URL(如果您的应用有)。或者你知道你的下拉列表是一些已知的插件,谎言 jQuery 下拉插件。
-
您能否确认一下,span tag id 每次都是完全改变的,还是有些部分是不变的?