Selenium WebDriver:findElements只返回元素的前2个实例

Selenium WebDriver:findElements只返回元素的前2个实例,selenium,Selenium,我正试图从AJAX下拉菜单中收集webelements列表,以迭代验证每个项目的值 我这样做的方式是通过以下代码: List<WebElement> names = new ArrayList<WebElement>(); names = pgNew.driver.findElements(By.className("col1")); 以下“iceSelInpTxtRow PAUTOMPLETESELROW”均相同,但“col1”、“col3”和“col1”的值不同 另

我正试图从
AJAX
下拉菜单中收集
webelements
列表,以迭代验证每个项目的值

我这样做的方式是通过以下代码:

List<WebElement> names = new ArrayList<WebElement>();
names = pgNew.driver.findElements(By.className("col1"));
以下“iceSelInpTxtRow PAUTOMPLETESELROW”均相同,但“col1”、“col3”和“col1”的值不同


另外,需要注意的是,这个问题只发生在FireFox中。

这可能是完全不知情的,但我遇到了听起来与您遇到的问题完全一样的问题,只是我无法在屏幕上看到我的元素,但当我调出HTML时,所有元素都在那里。我发现FirefoxV16+的行为发生了变化,之前的任何版本对我来说都很好。我从来没有发现那个变化是什么,但为了避免它,我不得不使用一点JavaScript来“将元素滚动到视图中”。希望这能帮助你,或者至少让你朝着正确的方向前进。请看我的帖子:


请提供HTML代码片段,它可能会提供一些线索。谢谢,是屏幕截图还是别的什么?我不认为我可以展示这一点,因为我正在测试的是公司软件。老实说,我不需要看到整个html,只需要看到这个下拉菜单中的片段。但是,如果你不能提供这些信息,那么调试就会变得更加棘手。@SidQuraishi,它是“公司软件”,不会有什么区别——将数据匿名化,尽可能简单地将其分解。你只需要一个具体的例子来证明这个问题,我们不想看到你公司的秘密,我们也不要求您提供这些值。@SidQuraishi当您单击下拉列表时,您是否能够在屏幕上看到所有的物理值,或者您是否必须滚动才能看到它们?顺便说一下,可以在您使用的jar名称上找到webdriver版本,例如,您可能有类似“selenium-server-standalone-2.33.0.jar”的内容。如果您使用的是Firefox的最新版本,请确保您使用的是最新版本。事实证明,webdriver版本意义重大。谢谢你让我知道:D
<div class="iceSelInpTxt patientAutoComplete">
    <input id="mainForm:TextBox">
    <div id="mainForm:TextBox_div">
        <div>
            <div class="iceSelInpTxtSelRow AutoCompleteSelRow">
                <span class="informal">
                    <table class="table" width="100%">
                        <tbody>
                            <tr style="cursor: pointer;">
                                <td class="col1">Text</td>
                                <td class="col3">Text</td>
                                <td class="col1">Text</td>
                            </tr>
                        </tbody>
                    </table>
                </span>
                <span style="visibility:hidden;display:none;">MRN5218317218</span>
            </div>
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
            <div class="iceSelInpTxtRow pAutoCompleteSelRow">
        </div>
    </div>
    <input type="hidden" name="mainForm:TextBox_idx" style="" value="">
</div>