Нажатие кнопки отправки формы HTML с помощью кода Javascript - PullRequest
18 голосов
/ 06 марта 2011

Я не знаю много о WEB-тестировании, так что не стесняйтесь спрашивать, если я упускаю какие-либо детали.

Существует определенный веб-сайт, который я посещаю очень часто, и он требует, чтобы пользователи входили в систему каждый раз, когда они посещают. Для страницы входа на этот сайт я пытаюсь записать скрипт пользователя, который автоматически авторизирует меня.

Мне удалось заполнить поля формы, но я не представляю, как нажать кнопку «Отправить» с помощью JavaScript. Ниже приведена сокращенная версия исходного кода входа. Как я могу автоматически нажать эту кнопку отправки в этом коде?

<div id="start">
    <div id="header">
        <div id="login">
            <form id="loginForm" name="loginForm" method="post" action="#">
                // ...
                <input type="submit" id="loginSubmit" onclick="changeAction('submitInput','loginForm');document.forms['loginForm'].submit();" value="Log in" />
                // ...
            </form>
        </div>
    </div>
</div>

Ответы [ 3 ]

32 голосов
/ 21 апреля 2014

Обычный способ отправки формы в общем случае - это вызвать submit () в самой форме, как описано в ответе krtek.

Однако, если вам нужно нажать кнопку отправки по какой-то причинеВаш код зависит от имени / значения кнопки отправки (или чего-то еще), вы можете нажать на кнопку отправки, например, так:

document.getElementById('loginSubmit').click();
12 голосов
/ 06 марта 2011
document.getElementById('loginSubmit').submit();

или используйте тот же код, что и обработчик onclick:

changeAction('submitInput','loginForm');
document.forms['loginForm'].submit();

(хотя этот обработчик onclick написан глупо: document.forms['loginForm'] можно заменить на this.)

6 голосов
/ 06 марта 2011

Вы можете сделать:

document.forms["loginForm"].submit()

Но это не вызовет действие onclick вашей кнопки, поэтому вам нужно будет вызвать его вручную.

Имейте в виду, чтовы должны использовать name вашей формы, а не id для доступа к ней.

...