从下拉菜单中选择元素
本文关键字:元素 选择 下拉菜单 | 更新日期: 2023-09-27 18:09:48
我从下拉菜单中获得所有选项,但我不能选择它们,也许有人可以帮助我,如何从下拉菜单中选择每个值:
<select id="1234" class="dropdown">
<option value="3">HelloWorld</option>
<option selected="selected" value="1">GoodBye</option>
<option value="2">Name</option>
<option value="5">Surname</option>
</select>
我代码:var elements = WebDriver.FindElement(By.Id("1234")).FindElements(By.TagName("option"));
for (var i = 0; i < elements.Count; i++){
elements[i].Click();
}
没有出现错误,只是没有选择下拉菜单中的值
这是正确的做法
SelectElement dropdown = new SelectElement(driver.FindElement(By.Id("1234")));
foreach (IWebElement option in dropdown.Options)
{
// you may need a slight delay here to give the page a chance to respond and make the change
option.Click();
}
- 首先,你能确保没有其他的吗id为"1234"的元素?硒元素分类Id将总是找到第一个符合你的条件的元素。
-
其次,你能试着在两者之间引入一点等待吗选择下拉菜单并选择其项,您可能需要打破你的
var elements = WebDriver.FindElement(By.Id("1234")).FindElements(By.TagName("option"));
分成两步,中间放一个等待。有时候,你的点击命令太快了,下拉菜单无法显示它的下拉菜单
-
对于诊断目的,您可以使用element。getAttribute('one element')来为你的下拉菜单选项找到一个属性值,只是为了确保你已经真正找到了它们。
-
这个下拉列表属于iframe吗?但是你说没有错误,所以它可能不属于iframe。