Python:单击按钮[重复]

2024-03-21

我在单击此按钮时遇到问题,该按钮的 HTML 代码如下所示:

<form method="post">
<br>
<input type="hidden" value="6" name="deletetree">
<input type="submit" value="Delete Tree" name="pushed">
</form>

需要生成的 url 如下所示:

更新: 我尝试了这个,但它不起作用:

form_data = urllib.urlencode({'Category' : '2', 'suid' : '19', 'deletetree' : '6', 'pushed' : 'Delete+Tree' })
urllib2.urlopen("management.php", form_data)

这是我登录的方式:

cj = cookielib.CookieJar() 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
opener.addheaders = [('User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13')] 
username = "user" 
password = "pass" 
USER_ID = '6'

    loginonsite = login("http://mysite.com/myprofile.php",
                        "login_username=%s&login_password=%s&suid=%s".format(username, password, USER_ID)

)


您可以使用请求来发帖。

import requests
data = {'Category' : '2', 'suid' : '19', 'deletetree' : '6', 'pushed' : 'Delete+Tree' }
response = requests.post('http://mysite.com/management.php', data=data)

print response.text

随着越来越多的网页内容是用 JavaScript 生成的,当我现在进行这种自动化时,我发现自己正在使用 Selenium 的 webdriver 来直接驱动像 Chrome 这样的真正的浏览器......

更新:听起来您需要先登录

现在,请求也可以传递 cookie。所以你要发送一个登录请求你会这样做

login_data = data={'username': 'user', 'password': 'pass'
post_data = {
    'Category' : '2', 'suid' : '19', 'deletetree' : '6', 'pushed' : 'Delete+Tree'
}
login_response = requests.get('http://mysite.com/myprofile.php', data=login_data)
form_response = requests.post(
    'http://mysite.com/management.php',
     data=post_data, 
     cookies=login_response.cookies
)

因此,您进行登录,然后在下一个请求的响应中使用 cookie。应该管用。但显然我无法针对您的具体情况测试该代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:单击按钮[重复] 的相关文章

随机推荐

  • Jquery Drag-Drop(获取要放入的元素)

    我正在尝试检测物体被放入哪个单元格 table tr td class weekday Sun td td class weekday Mon td td class weekday Tue td td class weekday Wed
  • 如何使用 DLLImport 将字符串从 C# 传递到 C++(以及从 C++ 传递到 C#)?

    我很长一段时间以来一直试图在 C 和 C 之间发送字符串 但还没有成功 所以我的问题很简单 有谁知道将字符串从 C 发送到 C 以及从 C 发送到 C 的方法吗 一些示例代码会有帮助 在你的c代码中 extern C declspec dl
  • 如何调用 javascript 对象内部的方法

    我刚刚学习如何最好地组织我的 javascript 代码 我对我编写的这一小段代码有一个疑问 var reportsControllerIndex plotMapPoints function data plots points drawM
  • iOS 9 上的 Html5 视频 blob

    通过 xhr 将视频 mp4 H264 加载到 blob 然后使用此类 blob 作为 HTML5 Video 元素的源 var vsource window URL createObjectURL blob var player docu
  • 如何在不显式配置策略的情况下获取对 SessionAuthenticationStrategy 的引用?

    在基于 Spring Security 3 2 的应用程序中 我有一个显式配置UsernamePasswordAuthenticationFilter 需要参考sessionAuthenticationStrategy 为了调用 onAut
  • UITableViewCell 与 xib

    我正在开发一个使用 xib 文件的 iOS 应用程序 通常我使用情节提要和I don t know how to set up a UITableViewCell with xib files 当我使用 UITableView 制作 xib
  • Pandoc 和 html5 导出 pdf 的利润丰厚

    所以我第一次尝试Pandoc 一切看起来都很棒 但是当通过 html5 wkhtmltopdf 导出时 我的 pdf 输出保存时各面都有巨大的边距 pandoc t html5 s example md o output pdf 输出 pd
  • 快速运行总和

    我想要一个函数runningSum在数字数组 a 或任何可添加事物的有序集合 上 返回相同长度的数组 其中每个元素i是 A 中所有元素的总和最多包括i 例子 runningSum 1 1 1 1 1 1 gt 1 2 3 4 5 6 run
  • Linq to Sql 任意关键字搜索查询

    我的应用程序中有一个案例 用户可以搜索术语列表 搜索需要按以下顺序进行三遍 与他们输入的内容完全匹配的一个 完成 简单 所有单词 单独 匹配的一种 完成了 也很简单 一处any单词匹配 如何 本质上 我如何在 Linq to Sql 中告诉
  • 如何传递 Rscript -e 多行字符串?

    有没有办法提供代码Rscript e多行 这在 vanilla R 中是可能的 R vanilla lt code a lt 3 3 quote gt cat a n quote gt ARGUMENT cat a ignored ARGU
  • Oracle Form 中的旧值和新值

    我正在使用 Oracle Forms 我有一个名为SOLD TO CUST PARTY NAME 如果我检测到字段值发生变化 我必须执行一个过程 我尝试使用when validate 但即使您只需单击该字段并移动到另一个字段 它也会执行 无
  • Entity Framework 4.1 - Code First:多对多关系

    我想建立这样的关系 一个区域位于 x 个其他区域的附近 public class Zone public string Id get set public string Name get set public virtual ICollec
  • 在 Java 中使用 ENUMS 验证值组合的最佳方法是什么?

    我通过如下定义 ENUM 来验证从数据库检索的记录的状态 public enum RecordStatusEnum CREATED CREATED INSERTED INSERTED FAILED FAILED private String
  • 在Linux中使用自定义规则在多个端口上运行的SSH服务[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在努力设置一台在多个端口上运行 SSH 服务的服务器 例如端口 22 和 5522 这些端口应该具有一组不同的规则 即 我们为端口 2
  • 在 C# 中如何将字符串转换为 ascii 二进制?

    不久前 高中一年级 我请一位非常优秀的大三 C 程序员制作一个简单的应用程序 将字符串转换为二进制 他给了我以下代码示例 void ToBinary char str char tempstr int k 0 tempstr new cha
  • 列表未添加 C# 中的所有值

    我尝试了下面的代码来创建 json 代码 代码工作正常 我从数据库加载值 但只有最后一个值我得到了输出 剩余值未添加 DataTable dt new DataTable var objectToSerialize new RootObje
  • 解除PDF密码保护,知道密码[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一堆 pdf 文件 我想从中删除密码 请注意 我知道密码 因此无需暴力破解 我正在 Mac 上工作 所以我想制作一个应用程序来删除这些
  • Git合并分支到master

    我有一个主分支和一个工作分支branch 1 我想 动 一下branch 1正是如此master 所以我想要这样的东西 git checkout master git merge branch 1 I don t know what is
  • symfony2 - twig - 如何从树枝模板内部渲染树枝模板

    我有一个 xxx html twig 文件 它显示一个页面 但是当我想用不同的数据刷新页面并用新数据更新它时 我有一个选择和一个提交按钮 问题是我不知道如何在控制器中调用一个动作 我从我的树枝传递参数并调用新数据 然后我用新参数再次渲染相同
  • Python:单击按钮[重复]

    这个问题在这里已经有答案了 我在单击此按钮时遇到问题 该按钮的 HTML 代码如下所示