java - 使用问题和- 使用 Selenium 读取列表的元素
问题描述
我是 Selenium 的新手,在访问要显示列表的列表时遇到问题,您必须单击该列表,然后选择一个特定选项,我的选项是“自然”,我的页面有下一个代码:
<div id="tipoIdentificacion_panel" class="ui-selectonemenu-panel ui-widget-content ui-
corner-all ui-helper-hidden ui-shadow" style="">
<div class="ui-selectonemenu-items-wrapper" style="height:auto">
<ul class="ui-selectonemenu-items ui-selectonemenu-list ui-widget-content ui-widget
ui-corner-all ui-helper-reset">
<li class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all ui-state-
highlight" data-label="Seleccione...">Seleccione...</li>
<li class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" data-
label="NATURAL">NATURAL</li>
<li class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" data-
label="JURIDICA EXTRANJERA">JURIDICA EXTRANJERA</li>
</ul>
</div>
</div>
在Java中,我有下一个代码来识别列表的元素
WebDriverWait wait = new WebDriverWait(driver, 50);
WebElement TipoPersonas=
driver.findElement(By.xpath("//*@id="tipoPersona_panel"]/div/ul"));
List<WebElement> TipoPersona=TipoPersonas.findElements(By.tagName("li"));
for (WebElement lis : TipoPersona) {
if (lis.getText().equals("NATURAL")) {
lis.click();
}
问题是永远找不到值“自然”,因为值lis.getText()
总是为空,而且比较不可能,我们能帮帮我吗?
解决方案
请尝试以下代码:
List<WebElement> TipoPersonas=
driver.findElements(By.xpath("//div[@class='ui-selectonemenu-items-wrapper']/ul/li"));
System.out.println("Size Tipopersona: " + TipoPersonas.size());
for (WebElement lis : TipoPersonas) {
System.out.println("Value is" + lis.getText());
if(lis.getText().equalsIgnoreCase("NATURAL")) {
lis.click();
}
}
推荐阅读
- sql - 如何在 Presto 中旋转表格?
- javascript - 脚本在 onclick 按钮内不起作用
- python - 从python中的字符串检测和替换xml
- css - 无法将悬停应用到 html 网格项
- ffmpeg - ffmpeg h264_amf 错误:CreateComponent(AMFVideoEncoderVCE_AVC)失败,错误 10
- javascript - Javascript表单验证只工作一次
- scala - Scala - 最终超时和 Thread.sleep() 之间的区别
- flutter - Flutter:计时器计时器无法使用 timer.cancel() 结束上一个会话?
- sql - 如何在 postgresql 的主键中使更新幂等?
- python - 更改 pandas csv 列的值样式 python