java - 在 Java + Selenium WebDriver 中提取选择的选项

标签 java selenium

我想提取选择信息并打印到控制台,已经尝试了各种方法,但是selenium无法找到该元素,我已经使用了隐式和显式等待,但仍然不行。

<form style="display:inline" name="productForm" action="lib/general/navBar.php" method="get">

                        <input type="hidden" name="CSRFName" value="CSRFGuard_1364551223">

                        <input type="hidden" name="CSRFToken" value="19838e996a1a94dc508c12fab4ee5c845e4"> Projeto de Teste
    <select style="font-size: 80%;position:relative; top:-1px;" name="testproject" onchange="this.form.submit();">
             <option value="470258" title="Criação de Nova Faixa de Planos Pós PF - 106227 ">
            Criação de Nova Faixa de Planos...</option>
        <option value="469505" title="Limite de Utilização Diferente para Cliente Base que Migrou para Combo Multi - 105942" selected="selected">
            Limite de Utilização Diferente...</option>
        <option value="469489" title="Campanha 0500 Gente Especial 2016 - 106185">
            Campanha 0500 Gente Especial...</option>
        <option value="469477" title="Teste CTC 2016 - 33333333">
            Teste CTC 2016 - 33333333</option>

    </select>

最佳答案

如果元素位于 iframe 内,则您需要处于 iframe 的上下文中才能找到其中的元素。进入后,找到 select 元素(例如,按名称),实例化 Select 类实例并使用 getOptions() 方法获取选项:

driver.switchTo().frame("frame_name_or_id");

Select select = Select(driver.findElement(By.name("testproject")));
List<WebElement> options = select.getOptions();

for (WebElement option : options) {
    System.out.println(option.getText());
}

关于java - 在 Java + Selenium WebDriver 中提取选择的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37417799/

相关文章:

java - 解密java时出错

java - 如何通过 Selenium-Java 连接到 putty 来执行命令集并验证 putty 窗口中的输出

Python Selenium --user-data-dir 选项错误 : could not remove old devtools port file

java - 如何使用 Selenium WebDriver 在 Chrome 中激活 AdBlocker?

java - 带有 Java 的 Selenium Webdriver : How to select a random birth month and a random country from drop-down select options menu

java - 使用XJC或xmlBeans生成代理类失败

java - 如果两个线程使用不同的监视器,它们是否可以在同一个对象上执行相同的同步代码块?

java - 如何创建一个从其他 map 获取值然后将它们映射到其字段的 map ?

java - 如何使用 selenium WebDriver 将文本插入弹出窗口

javascript - WebDriver click() 与 JavaScript click()