gpt4 book ai didi

java - Selenium:WAITINGDropDown更新后获取DropDown的值

转载 作者:行者123 更新时间:2023-11-30 06:38:30 28 4
gpt4 key购买 nike

我有 2 个选择下拉列表。当我为第一个下拉列表选择一个选项时,它会自动更新第二个选项。我需要检查第二个下拉列表的值是否与第一个下拉列表相同。

我的问题是第二个下拉列表中有预加载的值。如果我访问它,返回值都是预加载的值。我需要等到下拉值更新,然后我才能获取该值进行检查。

我试图等待,希望在一段时间后该值会被更新,但这会导致错误。这是我的等待代码:

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

我也无法使用它,因为该元素从一开始就存在。

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".z-phenotype-dropdown.z-select")));

第二个下拉列表的 html 代码如下所示:

<td>
<tbody>
<tr>
<select class="z-phenotype-dropdown z-select">
<option class="z-option"> </option>
<option class="z-option"> sample 1 </option>
<option class="z-option"> sample 2 </option>
<option class="z-option"> sample 3 </option>
</select>
</tr>
</tbody>
</td>

最佳答案

我假设下拉列表中的默认元素数量为 4,并且等待选项的数量大于 4,如下所示。它可能适合你。

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.numberOfElementsToBeMoreThan(By.cssSelector(".z-phenotype-dropdown.z-select>option"),4));

关于java - Selenium:WAITINGDropDown更新后获取DropDown的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44814925/

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