如何阅读Selenium IDE中所有下拉列表的值?
我有一个下拉列表,其中包含值(例如日期),我需要选择每个值并单击提交按钮并再次生成报告选择下一个值...循环继续直到下拉值结束。
如何使用Selenium IDE执行此操作?
答案 0 :(得分:1)
您可以使用循环,循环将循环显示下拉列表中的选项。
List<WebElement> dropdown = driver.findElements(locator));
for(WebElement t : dropdown) {
String valueText = t.getText();
Select value = new Select(driver.findElement(locator);
value.selectByVisibleText(valueText);
buttonSubmit.click;
}
答案 1 :(得分:1)
在Selenium-IDE中优雅地实现这一点有点棘手。作为Apjuh mentioned,循环将是选择每个值的最佳方式。不幸的是,Selenium-IDE默认没有任何流控制命令。这里有两种选择:
1)手动实现循环的每次迭代。不推荐。
2)下载并安装Selenium-IDE的Flow Control插件。我自己没有使用它的经验,但我现在可以尝试一下并报告结果。
从那里开始,应该可以构建一个完成你需要做的循环。
编辑:在过去半小时内与Selenium-IDE展开激烈竞争之后,我只能得出结论,Selenium-IDE可能不是这里工作的最佳工具!以下命令可以成功模拟for
循环:
store | 0 | i
label | loopStart
getEval | alert("i = " + storedVars.i)
store | javascript{storedVars.i++;}
gotoIf | storedVars.i < 4 | loopStart
...但是使用下拉框(例如选择索引i
处的选项)使其发挥得很好,这证明是有问题的,并且最终对于应该是一项简单的任务来说太麻烦了。如果可能的话,我认为值得研究Selenium WebDriver,这将允许使用实际代码。使用C#,Apjuh的答案可以很好地完成这项工作,而且我想他到达目前并不需要半个小时!