вход через питон через веб-портал - PullRequest
0 голосов
/ 27 июня 2018

Проблемы с использованием Python для входа на веб-портал. Я пытался использовать предложения из других сообщений

Как мне войти на сайт с Python?

Я пытался использовать twill (который не удалось установить, потому что я использую Python 3.6) - если у кого-то есть предложения, как его установить, пожалуйста, сообщите

Я также пытался использовать:

import requests
url = 'http://example.com/userinfo.php'
values = {'username': 'user',
          'password': 'pass'}

r = requests.post(url, data=values)
print(r.content)

без удачи.

Страница входа имеет следующий html

<form id="form" method="post" action="/" style="padding-left:20px;" class="form-horizontal">
                    <div class="control-group">
                        <label class="control-label" for="username">User Name:</label>
                        <div class="controls">
                            <input id="username" type="text" placeholder="User Name" autocomplete="off" autocorrect="off" autocapitalize="off">
                        </div>
                    </div>
                    <div class="control-group">
                        <label class="control-label" for="ba_password2">Password:</label>
                        <div class="controls">
                            <input id="ba_password2" type="password" placeholder="Password">
                            <input type="hidden" id="ba_username" name="ba_username">
                            <input type="hidden" name="ba_password">
                                                            <input type="hidden" name="ba_seed" value="614377365">
                            <input type="hidden" name="ba_salt" value="dgvwghgwuoyixgsrdhblkgigmtrhivbx">
                            <input type="hidden" name="ba_seedkey" value="-1647247092">
                                                        </div>
                    </div>
                    <div class="control-group">
                        <div class="controls">
                            <label class="checkbox">
                                <input type="checkbox" name="rememberMe"> Remember me on this computer
                            </label>
                            <button id="ba_loginbut" type="submit" class="btn">Login</button>
                        </div>
                    </div>
                    <div class="msgHolder">
                                                    <div id="login-error-box" class="errormsg" style="display:none;">
                            <img src="/images/err.png"/>
                            <div id="login-error-msg"></div>
                        </div>
                        <div id="capslock" class="errormsg" style="display:none;">
                            <img src="/images/warn.png"/>
                            Caps lock is on.
                        </div>
                    </div>
                </form>

Я надеюсь, что кто-то может помочь. Спасибо

Ответы [ 2 ]

0 голосов
/ 20 августа 2018

С кодом Python должен выглядеть так:

#Open Firefox browser
driver = webdriver.Firefox()
#Enter email
elem = driver.find_element_by_id("username")
elem.clear()
elem.send_keys("email")
#Enter password
elem = driver.find_element_by_id("ba_password2")
elem.clear()
elem.send_keys("pass")
#Click button
elem = driver.find_element_by_id("ba_loginbut")
elem.click()
0 голосов
/ 04 июля 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...