gpt4 book ai didi

python - 使用像 "Tamper Data"这样的 Python Mechanize

转载 作者:太空宇宙 更新时间:2023-11-03 13:24:53 24 4
gpt4 key购买 nike

我正在使用 python (2.6) 和 mechanize (0.1.11) 编写网络测试脚本。我正在使用的页面有一个带有选择字段的 html 表单,如下所示:

<select name="field1" size="1">
<option value="A" selected>A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>

在 Mechanize 中,如果我尝试这样的事情:

browser.form['field1'] = ['E']

然后我收到一个错误:ClientForm.ItemNotFoundError: 名称为“E”的项目不足

我可以使用“篡改数据”firefox 扩展程序手动执行此操作。有没有办法用 python 和 Mechanize 来做到这一点?我能否以某种方式说服 mechanize 该表单确实具有我要提交的值?

最佳答案

在了解了 ClientForm 的内部结构后,您似乎可以欺骗它添加另一个项目。

对于一个选择字段,这样的事情似乎可行:

xitem = ClientForm.Item(browser.form.find_control(name="field1"), 
{'contents':'E', 'value':'E', 'label':'E'})

同样,对于单选按钮控件

xitem = ClientForm.Item(browser.form.find_control(name="field2"),
{'type':'radio', 'name':'field2', 'value':'X'})

请注意,项目初始值设定项会自动更新指定控件的项目列表,因此您只需正确创建项目即可显示。

关于python - 使用像 "Tamper Data"这样的 Python Mechanize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1285895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com