gpt4 book ai didi

java - 列表 WebElement 始终从下拉列表中选择第一个元素,但我想选择第四个元素

转载 作者:行者123 更新时间:2023-12-02 10:39:19 24 4
gpt4 key购买 nike

我的列表大约有 190 个项目,并且项目也在 for 循环中被一一跟踪。我将条件应用于特定文本。但是,调试器进入条件但始终从下拉列表中选择第一个元素。在提到的代码国家/地区“美国”出现在我的下拉列表的第四个索引中。

List<WebElement> options=driver.findElements(By.xpath("//*[@id='Countryitems_popup']/div[1]/ul//li/span"));
for(int i=0;i<options.size();i++)
{
WebElement select=options.get(i);
String innerhtml=select.getAttribute("innerHTML");

if(innerhtml.contentEquals("America"))
{
select.click();
break;
}
}

HTML 如下:

<div id="Countryitems_popup" class="e-scroll e-js e-wid" tabindex="" style="height: auto; display: block;">
<div class="h-con" style="height: 150px; width: 158.891px;">
<ul class="H-Kl" role="listbox">
<li data-value="001" id="004" role="option" unselectable="on" class="">
<span class=" e-ddltxt">Country 1</span>
</li>
<li data-value="676" id="006" role="option" unselectable="on" class="">
<span class=" e-ddltxt">Country 2</span>
</li>
<li data-value="765" id="009" role="option" unselectable="on" class="">
<span class=" e-ddltxt">Country 3</span>
</li>
<li data-value="0067" id="065" role="option" unselectable="on" class="">
<span class=" e-ddltxt">America</span>
</li>
</ul>
</div>
</div>

最佳答案

使用 for 每个循环以提高可读性。尝试使用以下代码:

List<WebElement> options= driver.findElements(By.xpath("//[@id='Countryitems_popup']/div[1]/ul//li/span"));
for(WebElement option : options) {
if(option.getText().trim().equals("America")) {
option.click();
break;
}
}

只要 xpath 正确,这应该可以工作。

关于java - 列表 WebElement 始终从下拉列表中选择第一个元素,但我想选择第四个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53048789/

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