python - python 通过门户网站登录
问题描述
使用 python 登录门户网站时遇到问题。我试过使用其他帖子的建议
我试过使用斜纹布(安装失败,因为我正在运行 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>
我希望有人能帮帮忙。谢谢
解决方案
使用 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()
推荐阅读
- mysql - 查询一列中的乘法值。
- c - 需要帮助循环 C 程序(井字游戏)
- kubernetes - Traefik 如何调查 100 次重试 500 次错误
- python - 熊猫数据框行的条件循环
- r - 将 JSON 列表展平为数据框
- android - react-native - itemTextStyle 和 itemStyle 在 Android 中不起作用
- php - 在 Woocommerce 上的 SQL 查询中获取产品的目录可见性
- java - JHipster/React - 匿名从服务器获取数据(登录前)
- python - [:, :, ::-1] 在 python 中是什么意思?
- asciidoctor - 使用 Asciidoctor,如何在“include::”期间排除标签之间的代码?