gpt4 book ai didi

java - isEnabled() 方法始终返回 true

转载 作者:行者123 更新时间:2023-11-29 08:24:26 25 4
gpt4 key购买 nike

我想获取启用了复选框的字符串列表。但是当我使用 isEnabled() 时,即使对于禁用的复选框,它也总是返回 true。在输出中,我得到了该字段中存在的所有字符串的列表。

下面是我为它写的代码:-

@FindBy(css = "[class *= 'CheckboxTextAligned']")
private List<WebElement> airportListCheckbox;

public void getEnabledValues() {
for (WebElement elements : airportListCheckbox) {
if(elements.isEnabled()==true) {
for (WebElement airportText : airportListTextName) {
airportText.getText();
LOG.info(airportText.getText());
}
}
}

HTML代码如下:-对于已禁用的复选框:-

<label role="checkbox" aria-label="checkbox" class="inputs__CheckboxTextAligned undefined undefined">
<input type="checkbox" disabled checked>
<span class="inputs__box"><svg width="16px" height="16px" class="inputs__checkIcon" viewBox="0 0 1024 1024">
<path d="434z"></path></svg></span>
<span class="inputs__text">London City</span></label>

对于已启用的复选框:-

<label role="checkbox" aria-label="checkbox" class="inputs__CheckboxTextAligned undefined undefined">
<input type="checkbox" checked="">
<span class="inputs__box"><svg width="16px" height="16px" class="inputs__checkIcon" viewBox="0 0 1024 1024">
<path d="133z"></path></svg></span>
<span class="inputs__text">London Gatwick</span></label>

最佳答案

当您尝试验证输入节点是启用还是禁用时,isEnabled() 会检查元素上的禁用属性。如果“禁用”属性不存在,则返回 True。

试试下面的代码:

@FindBy(xpath = "//label[contains(@class, 'CheckboxTextAligned')]/following::input")
private List<WebElement> airportListCheckbox;

public void getEnabledValues() {
for (WebElement elements : airportListCheckbox) {
if(elements.isEnabled()) {
for (WebElement airportText : airportListTextName) {
airportText.getText();
LOG.info(airportText.getText());
}
}
}

当您想检查输入节点是否启用时,您需要稍微更改定位器,因为之前您尝试检查标签是否启用/禁用,而不是输入节点,所以您始终为真。

关于java - isEnabled() 方法始终返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54444591/

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