[Python] Python selenium fails to press button

Discussão em 'Python' iniciado por Stack, Junho 6, 2025.

  1. Stack

    Stack Membro Participativo

    My Python selenium code is failing to press a button

    Get element, make sure clickable

    self.webdriver.wait_for_click((By.CLASS_NAME, self.LOGIN_BTN_CLASS), timeout=10)
    button = self.webdriver.driver.find_element_by_class_name(self.LOGIN_BTN_CLASS)


    Check state

    button.get_attribute("outerHTML") -> <div class="button" onclick="preLogin();">Sign In</div>
    button.is_enabled() -> True


    Try every method I can think of to press button - all fail

    driver.execute_script("arguments[0].click();", button)
    button.click()
    button.send_keys(Keys.ENTER)


    Nothing works. (send_keys says element not interactable). Any idea what else I can do?

    Relevant part of HTML

    <form method="post" name="form" action="login_v2.cgi" target="">
    <input type="hidden" name="group_id" value="">
    <input type="hidden" name="action_mode" value="">
    <input type="hidden" name="action_script" value="">
    <input type="hidden" name="action_wait" value="5">
    <input type="hidden" name="current_page" value="Main_Login.asp">
    <input type="hidden" name="next_page" value="Main_Login.asp">
    <input type="hidden" name="login_authorization" value="">
    <input type="hidden" name="id" value="">
    <input type="hidden" name="cnonce" value="">
    <input type="hidden" name="login_captcha" value="">
    <div class="div_table main_field_gap">
    <div class="div_tr">
    <div class="title_name">
    <div class="div_td img_gap">
    <div class="login_img"></div>
    </div>
    <div class="div_td">Sign In</div>
    </div>
    <div class="prod_madelName">RT-BE96U</div>
    <div id="login_filed">
    <div class="p1 title_gap">Sign in with your ASUS router account</div>
    <div id="name_title_ie" style="display:none;margin:20px 0 -10px 78px;" class="p1 title_gap">Username</div>
    <div class="title_gap">
    <input type="text" id="login_username" name="login_username" tabindex="1" class="form_input" maxlength="128" autocapitalize="none" autocomplete="off" placeholder="Username">
    </div>
    <div id="password_title_ie" style="display:none;margin:20px 0 -20px 78px;" class="p1 title_gap">Password</div>
    <div class="password_gap">
    <input type="password" name="login_passwd" tabindex="2" class="form_input" maxlength="128" placeholder="Password" autocapitalize="none" autocomplete="off">
    </div>
    <div class="error_hint" style="display: none;" id="error_status_field"></div>
    <div class="warming_desc" style="display:none;" id="last_time_lock_warning"></div>
    <div id="captcha_field" style="display: none;">
    <div id="captcha_input_div"><input id="captcha_text" name="captcha_text" tabindex="3" maxlength="5" autocapitalize="none" autocomplete="off"></div>
    <div id="captcha_img_div"><img id="captcha_pic"></div>
    <div id="reCaptcha" onclick="regen_captcha();"></div>
    <div class="error_hint" style="display:none; clear:left;" id="error_captcha_field">Captcha is wrong. Please input again.</div>
    </div>
    <div class="button" onclick="preLogin();">Sign In</div>
    </div>
    <div id="nologin_field" style="display:none;">
    <div class="p1 title_gap"></div>
    <div class="nologin">
    You cannot login unless logout another user first.
    <div id="logined_ip_str"></div>
    </div>
    </div>
    <div id="logout_field" style="display:none;">
    <div class="p1 title_gap"></div>
    <div class="nologin">You have logged out successfully.</div>
    </div>
    </div>
    </div>
    </form>

    Continue reading...

Compartilhe esta Página