>

확인란이 활성화 된 문자열 목록을 가져오고 싶습니다. 그러나 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>


  • 답변 # 1

    입력 노드가 활성화 또는 비활성화되었는지 확인하려고하면 isEnabled ()가 요소에서 disabled 속성을 확인합니다. "disabled"속성이 없으면 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());                
            }
        }       
    }
    
    

    입력 노드가 활성화되어 있는지 확인하려면, 입력 노드가 아닌 레이블이 활성화/비활성화되어 있는지 확인하려고하기 때문에 로케이터를 약간 변경해야합니다. 따라서 항상 사실입니다.

관련 자료

  • 이전 mysql - 루비 온 레일즈 - 관련 테이블 레코드 수별 순서
  • 다음 c# - 텍스트 파일 또는 여러 줄/리치 박스에서 한 줄씩 최소에서 큰 숫자로 정렬