Selenium WebDriver Java问题与下拉菜单

mwg9r5ms  于 2023-05-15  发布在  Java
关注(0)|答案(1)|浏览(139)

我是新的 selenium webdriver,我试图自动下拉菜单,但什么都没有发生。我尝试了selectByVisibleText和selectByValue,但得到了相同的结果。我在Eclipse Java中使用Mac上的Safari驱动程序。下面是我写的代码。

driver.findElement(By.name("firstName")).sendKeys("automationFName");      
driver.findElement(By.name("lastName")).sendKeys("automationLName");
driver.findElement(By.id("email")).sendKeys("automate" +        
rand.nextInt() +"@automatetest.com");
driver.findElement(By.name("password")).sendKeys("aaaaaa");
Select dropdown = new Select(driver.findElement(By.id("month"))); //Not working
dropdown.selectByVisibleText("May"); //Not working
driver.findElement(By.name("zip")).sendKeys("90210");
driver.findElement(By.id("signUpButton")).click();
Thread.sleep(2000);
driver.close();

下面是网站代码。

<select data-corners="false" id="month" name="month" title="Birthday">
            <option value="">Month</option>
                                <option value="1">Jan</option>
                                <option value="2">Feb</option>
                                <option value="3">Mar</option>
                                <option value="4">April</option>
                                <option value="5">May</option>
                                <option value="6">June</option>
                                <option value="7">July</option>
                                <option value="8">Aug</option>
                                <option value="9">Sept</option>
                                <option value="10">Oct</option>
                                <option value="11">Nov</option>
                                <option value="12">Dec</option>
                        </select>

谢谢
编辑:
我没有得到任何错误。只是个警告org.openqa.selenium.support.ui.Select is never used,但是导入在那里,Eclipse没有标记它。

u4dcyp6a

u4dcyp6a1#

首先,创建一个包含这些选项的cssselector(或任何定位器)的webelement。接下来,创建前一个元素的List,并通过它们的公共定位器定位选项。例如

WebElement optionslist = driver.findElement(By.cssSelector("locator"));
List<WebElement> optionslist2 = optionslist.findElements(By.tagName("li"));

相关问题