我正在尝试使用 Selenium Webdriver (Java) 自动化应用程序。我的网络应用程序有一个“添加”按钮。单击添加按钮后,将启用下拉菜单。如果再次单击,将启用第二个下拉菜单。每个后续下拉列表的 ID 将为 page1、page2、page3.. 等等。
我想要做的是,当我打开页面时,我需要查明页面中是否已存在任何下拉列表,如果是,则选择下一个下拉列表值,然后从下拉列表中选择一个值。
这是我当前的代码,我手动选择每个下拉列表并选择它们各自的值。:
driver.findElement(By.id("addPage")).click();
new Select(driver.findElement(By.id("page0"))).selectByVisibleText("ABCD");
driver.findElement(By.id("addPage")).click();
Thread.sleep(1000);
new Select(driver.findElement(By.id("page1"))).selectByVisibleText("CDEF");
driver.findElement(By.id("addPage")).click();
Thread.sleep(1000);
new Select(driver.findElement(By.id("page2"))).selectByVisibleText("EFGH");
driver.findElement(By.id("addContact")).click();
最佳答案
我会尝试按照以下方式做一些事情,假设页面中没有其他下拉元素(我从你的问题中假设是这种情况)。
try {
driver.findElement(By.tagName("select"))
} catch (NoSuchElementException e) {
//create first dropdown
}
您可以尝试用页面上每个选择元素的 id 填充一个数组,并搜索是否存在与模式“page\d”匹配的元素,然后从那里开始。
关于javascript - Selenium - 如果下拉值已经存在,如何检查和增加下拉值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31725417/