Python 提交表单

标签 python forms submit

我想使用 python 在网页上填写并提交表单。

此表格:

<form method="POST" id="login" action="site/enter.php" >
  <input type="text" placeholder="Login" name="login" class="login" tabindex="1">
  <input type="password" placeholder="Password" name="psw" class="password" tabindex="2">
  <input type="submit" class="btn_auth" value="" title="Enter" tabindex="3">
</form>

但是做不到。我放置登录并通过,但无法模拟提交按钮。

最佳答案

使用 selenium 的 Webdriver 来驱动网页比使用 mechanize 之类的东西要容易得多。特别是如果页面是动态创建的。

您需要安装 selenium。 pip install selenium 应该可以工作。您还需要安装某个版本的 Firefox。

from selenium import webdriver

browser = webdriver.Firefox()
browser.implicitly_wait(5)
browser.get('http://some_url.com')
browser.find_element_by_id('login').send_keys('your_login') 
browser.find_element_by_name('pws').send_keys('your_password')
browser.find_element_by_class_name('btn_auth').click() 

print browser.page_source
browser.close()

关于Python 提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11742435/

相关文章:

即使在浏览器刷新后使用 isset() 提交按钮检查,PHP 脚本仍然会被执行

jQuery 验证插件 - 仅在检查变量后提交

python - 用python数据框中的列表替换python中的缺失值

php - 当表单包含大量输入时,表单数据被截断/丢失?

python - "Keyword cannot be an expression"

jQuery jPicker 完全重置

php - Laravel 表单数组验证

CSS dojo 样式未应用于按钮

python - 如何在python程序中比较非英文(中文)字符?

python - celery worker 无法连接到 docker 实例上的 redis