ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Selenium의 목록 인 경우 모달 창을 어떻게 열 수 있습니까?
    카테고리 없음 2020. 8. 20. 21:51

    질문

    Selenium을 사용하여 모달 창을 여는 데 문제가 있습니다.이 페이지 https://buggy-testingcup.pgs-soft.com/task_1 에는 Treść zadania 링크가 있습니다. 이것을 클릭하면 Task 설명과 함께 모달 창을 볼 수 있습니다.

    <nav class="navbar navbar-fixed-top navbar-inverse">
            <div class="container helpers">
                <div class="col-sm-10 col-md-10">
                    <span class="open-details">Treść zadania</span> | <span id="main-reset">Resetuj dane</span>
                </div>
                <div class="col-sm-2 col-md-2">
    
                </div>
            </div>
        </nav>

    보시다시피 open-detail class가 있으므로 find_elements_by_class_name ( 'open-details') 으로 시도했지만 xpath 및 텍스트 링크로도 시도했지만 항상 얻습니다.

    AttributeError : [0]과 함께 사용할 때 'NoneType'객체에 'click'속성이 없습니다. 또는

    AttributeError: 'list' object has no attribute 'click'

    누군가이 모달을 여는 방법을 설명해 줄 수 있습니까? 내 테스트에는 필요하지 않지만 궁금합니다.


    답변1

    find_elements_by_class_name ( 'open-details') 는 웹 요소가 아닌 목록으로 반환됩니다. find_element_by_class_name ( 'open-details') 로 연결합니다.

    CSS 선택자를 사용하는 것이 좋습니다.

    driver.find_element_by_css_selector(".open-details").click()

    WebDriverWait()를 유도하고 element_to_be_clickable()을 기다린 후 클릭합니다.

    WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,".open-details"))).click()

    라이브러리를 가져와야합니다.

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC


     

     

     

     

    출처 : https://stackoverflow.com/questions/61250058/how-can-i-open-modal-window-if-its-a-list-in-selenium

    댓글

Designed by Tistory.