gpt4 book ai didi

Selenium 网络驱动程序 : findElements only returns the first 2 instances of element

转载 作者:行者123 更新时间:2023-12-04 04:49:19 25 4
gpt4 key购买 nike

我正在尝试收集 webelements 的列表来自 AJAX下拉菜单迭代以验证每个项目的值。

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

List<WebElement> names = new ArrayList<WebElement>();
names = pgNew.driver.findElements(By.className("col1"));

但是,当我运行它时, names仅接受 className col1 的前两项而不是全部 15 个。相反,它将最后 13 个点存储为空白。例如,如果它应该接受:

a、b、c、d、e、f、g、h、i、j、k、l、m、n、o

它只需要:

a, b, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '

有任何想法吗?

编辑:

这是html代码:
<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>

下面的 "iceSelInpTxtRow pAutoCompleteSelRow"都是相同的,但 "col1"、"col3"和 "col1"的值不同。

另外,请注意,此问题仅在 FireFox 中发生。

最佳答案

这可能完全是在黑暗中拍摄,但我遇到了听起来像您遇到的确切问题的问题,除了我无法在屏幕上实际看到我的元素但是当我拉起 HTML 时,所有元素都在那里。我发现这是 Firefox v16+ 的行为变化,之前的任何版本对我来说都很好。我从来没有发现那个变化是什么,但为了解决它,我不得不使用一些 JavaScript 来“将元素滚动到 View 中”。希望这可以帮助您或至少让您朝着正确的方向前进。看看我的帖子:

WebElement getText() is an empty string in Firefox if element is not physically visible on the screen

关于 Selenium 网络驱动程序 : findElements only returns the first 2 instances of element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17676370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com