ifrnead / dorothy

Assistente Moodle-SUAP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problemas em encontrar os componentes

erick-bergamini opened this issue · comments

Ao executar o dorothy, aparece esse erro:

/var/lib/gems/2.5.0/gems/selenium-webdriver-3.4.3/lib/selenium/webdriver/remote/response.rb:69:in `assert_ok': no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="content"]/div[1]/form/div[3]/input"} (Selenium::WebDriver::Error::NoSuchElementError)

Isso ocorre logo após inserir nos campos o login e senha, antes de clicar no botão o erro ocorre e o browser fecha. Acredito que o script não esteja encontrando o botão de login:

web.rb

 if button = browser.find("//*[@id=\"content\"]/div[1]/form/div[3]/input")
          button.click

SUAP (html)

...
<main id="content">
            <div id="login">
                <h2>SUAP: Sistema Unificado de Administração Pública</h2>
                <h3><span class="fas fa-lock" aria-hidden="true"></span> Login</h3>
                <form action="" method="post" autocomplete="off">
                    <input type="hidden" name="csrfmiddlewaretoken"
                        value="HxvhPx1zkppjmS9lzsRfTfmlcrGrDLk2zfMbXYatc8ENDaHQa0ciSs1kyMr0XOYR">
                    <div class="form-row"><label for="id_username" class="required">Usuário:</label><input type="text"
                            name="username" autofocus required id="id_username"></div>
                    <div class="form-row"><label for="id_password" class="required">Senha:</label><input type="password"
                            name="password" required id="id_password"><input type="hidden" name="this_is_the_login_form"
                            value="1" /><input type="hidden" name="next" value="/" /></div>
                    <div class="form-row" id="captcha-row"><label for="id_recaptcha" class="required">Captcha:</label>
                        <script src="https://www.google.com/recaptcha/api.js"></script>
                        <script type="text/javascript">
                            // Submit function to be called, after reCAPTCHA was successful.
                            var onSubmit_f9036724003a4eb4bec8ff4d5deab9e9 = function (token) {
                                console.log("reCAPTCHA validated for 'data-widget-uuid=\"f9036724003a4eb4bec8ff4d5deab9e9\"'")
                            };
                        </script>
                        <div class="g-recaptcha" data-sitekey="6LcsptoSAAAAAFfUyvgKaz-uX89DhD_zH-6zMZ3y"
                            id="id_recaptcha" data-widget-uuid="f9036724003a4eb4bec8ff4d5deab9e9"
                            data-callback="onSubmit_f9036724003a4eb4bec8ff4d5deab9e9" data-size="normal"></div>
                    </div>
                    <div class="submit-row"><input type="submit" value="Acessar" /></div>
                    <div class="form-row"><a href="/comum/solicitar_trocar_senha/">Esqueceu ou deseja alterar sua
                            senha?</a></div>
                </form>
...

Fix it!

if button = browser.find("//*[@id=\"login\"]/form/div[4]/input")
          button.click