繁体   English   中英

Selenium - 如何使用 java 获取下拉列表的选项列表?

[英]Selenium - How do I get the the list of options of a drop down list using java?

我有以下代码:

<span class="dropDown">Choose</span>
<div class="dropdownQuestions active" style="display: block; max-height: 310px;">
<span data-index="0" data-value="1" onclick="gt.setQuestion(this, true);">Warrior</span>
<span data-index="1" data-value="2" onclick="gt.setQuestion(this, true);">Mage</span>
<span data-index="2" data-value="3" onclick="gt.setQuestion(this, true);">Sorcerer</span>

如果可能的话,我想要的是下拉列表的列表,因此在我可以使用其中一个单击之后,我进行了很多搜索,但找不到任何对我有帮助的答案。

其他选项是使用数据索引或数据值字符串单击。 我想要的最后一个选项是单击字符串“Warrior”、“Mage”或“Sorcerer”,但如果没有其他方法,我会很高兴的。

谢谢!

单击下拉列表后,您可以获得列表中的所有下拉选项,然后根据需要使用它们(循环并选择具有特定条件的所需选项或按索引获取选项)。

  List<WebElement> options= driver.findElements(By.xpath("//span[@class='dropDown']/div/span"));
  options.get(1).click(); // here 1 is the index value of the option to select or you can use loop if looking for some specific condition

对于您在评论中分享的图片链接,请尝试以下 cssSelector:

List<WebElement> option= driver.findElements(By.cssSelector("div.questionDropdownOptions.activeSelectMenu span"));
                option.get(1).click();
    }

注意:请在您的代码中导入以下包:

import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

我认为您要寻找的所有内容都已在此处得到解答:

-> 如何使用 Java 在 Selenium WebDriver 中 select 下拉值

如果您想遍历它,这可能会有所帮助

-> 如何使用 Java 在 Selenium WebDriver 中计算 select 下拉框中的选项数量?

更具体地说,在第一个链接中,您可以看到您可以使用字符串参数单击下拉选项,也可以使用索引。

我知道您可能正在寻找特定代码,但遗憾的是,我不在计算机上,但我很确定这个答案是您的问题。

祝你的代码好运:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM