簡體   English   中英

如何使用 Java 在 Selenium WebDriver 中選擇和獲取下拉值

[英]How to select and get dropdown value in Selenium WebDriver using Java

HTML 代碼是

<select class="form_input_select bx-def-font" name="Sex[0]">
     <option value="Male">Man</option>                 
  <option value="Female">Woman</option>                   
<option value="Other" selected="selected">_Other</option>
    </select>

我在下面使用 Selenium Java 代碼:

Select select = new Select(driver.findElement(By.name("Sex[0]")));
select.selectByIndex(0);
Thread.sleep(2000);

光標在 Man 上移動,但 Man 不顯示,只顯示 _Others

請幫我解決我的問題我已經應用了越來越多的語法,但我沒有成功向 Man 展示...

您可以使用getText()獲取選定的文本。

Select se=new Select(driver.findElement(By.name("Sex[0]")));
WebElement option = se.getFirstSelectedOption();
String gender=option.getText;

或使用以下選項之一

se.selectByVisibleText("Man");
se.selectByIndex(0);
se.selectByValue("Male");

嘗試使用:-

se.selectByValue("Male");

se.selectByVisibleText("Man");

使用 javascriptexecutor

嗨,在從下拉列表中選擇任何選項之前,請讓所有選項在 DOM 中都可見,所以請按照下面的方式進行操作。

driver.findElement(By.xpath("path to drop down upon click it will show 
the dd with values")).click();

現在,一旦選項在頁面上可見,請使用您從 DD 中選擇選項的方式

Select se=new Select(driver.findElement(By.name("Sex[0]")));
se.selectByIndex(0);
Thread.sleep(2000);

driver.findElement(By.name("Sex[0]")).sendKeys("Man");

最后我找到了解決方案謝謝大家...

要從下拉列表中選擇任何選項,我們必須單擊下拉元素並選擇所需的選項。 請找到以下示例代碼:

WebElement gender = driver.findElement(By.name("Sex[0]"));
gender.click();
Select selectGender = new Select(gender);
selectGender.selectByValue("Male");
// or
// you can use any of below functions of Select class
selectGender.selectByIndex(0);
// or
selectGender.selectByVisibleText("Male");

希望這有幫助

您可以使用以下代碼從下拉列表中選擇值。

我們已經為Select創建了匿名對象。

new Select(driver.findElement(By.id("mainOrderForm:orderType"))).selectByVisibleText("Factory Order");

                        OR

new Select(driver.findElement(By.id("mainOrderForm:orderType"))).selectByIndex(Index_No.);

                        OR

new Select(driver.findElement(By.id("mainOrderForm:orderType"))).selectByValue("Value");

您可以使用以下代碼。 至少嘗試是否在控制台上打印所選選項

    Select select = new Select(driver.findElement(By.name("Sex[0]")));
    select.selectByIndex(0);
    
    WebElement element = select.getFirstSelectedOption();
    System.out.println(element.getText());
                  or
    select.selectByVisibleText("Man");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM