如何使用Selenium WebDriver with Java从下拉列表中选择项目?

w8biq8rn  于 2023-01-04  发布在  Java
关注(0)|答案(3)|浏览(200)

我有一个登录页面。在我的测试用例中,我可以使用凭据登录,但一旦我登录,我试图从下拉列表中选择项目。我有以下代码,但我得到一个错误

Select select = (Select) driver.findElement(By.id("Id goes here"));
        select.selectByValue("Value Goes here");

我收到以下错误无法找到元素:{“方法”:“ID”,“选择器”:“ID的值”}
注意:登录的URL与显示选择框的URL不同。这会是问题吗?有办法解决吗?

mnowg1ta

mnowg1ta1#

当WebDriver无法根据您的选择标准找到元素时,您得到的是NoSuchElementException
确保可以使用id或其他选择器正确定位WebElement。如果select元素位于iframe内,则必须首先使用[ driver.switchTo().frame() ](http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebDriver.TargetLocator.html)切换到该元素。
此外,不能将WebElement强制转换为Select
用途:

WebElement elem = driver.findElement(By.id("listofnames"));
Select select = new Select(elem);
select.selectByValue("Name1");
nukf8bse

nukf8bse2#

这对我很有效:

String Xcode =  "//li[@class='dropdown']/a"; //<-your xpath here    
WebElement CourseSelector = driver.findElement(By.xpath(Xcode));
CourseSelector.click();
try {Thread.sleep(3000);} // o&c - GIVES TIME FOR ITEMS TO APPEAR
    catch (InterruptedException wtv)    
    {System.out.println("problem on wait with resource load" + wtv);    } 
Xcode =  "//ul/li/a[text()='" + Your_Menu_Item_Here + "']"; // <- again your xpath here
CourseSelector = driver.findElement(By.xpath(Xcode));
CourseSelector.click();
gr8qqesn

gr8qqesn3#

选择下拉列表1;

dropdown2 = new Select (mozila.findElement(By.id("of the dropdown1"))); 

            dropdown2.selectByValue("9");

选择下拉框2;

dropdown2 = new Select (mozila.findElement(By.id("of the dropdown2")));  

    dropdown3.selectByValue("2018");

相关问题