在mechanize中提交表单后,如何获取响应页面的url?

2024-10-06 07:52:51 发布

您现在位置:Python中文网/ 问答频道 /正文

使用mechanize(和python),我可以访问一个网站,登录,查找表单,填写一些答案,然后提交该表单。但是,我不知道如何打开“响应”页面,也就是说,提交表单后自动加载的页面。在

下面是python代码:

br.select_form(name="simTrade")
br.form["symbolTextbox"] = "KO"
br.form["quantityTextbox"] = "10"
br.form["previewOrderButton"]

preview = br.submit()
print preview.read

有了上面的代码,我可以查看响应页面包含的内容。但我想打开这个页面并与之互动。我怎么能用mechanize做到这一点呢?谢谢您。在

编辑:所以我在发布这篇文章后不久就回答了我自己的问题。代码如下:

^{pr2}$

为了获得响应页面(提交表单时加载的页面)的html源代码,我只需获取br.提交(). 还有一个内置的mechanize函数geturl()。在


Tags: 答案代码namebrform表单网站页面
2条回答

操作的答案有点复杂,结果是一个AttributeError。这对我更有效:

br.submit()
base_url = br.geturl()
print base_url

打开新的网址是不必要的。提交表单后,新页面将自动打开,您可以使用相同的mechanizebrowser对象开始与它交互。在

如果要提交表单并将新页面上的所有链接存储在列表中,请使用问题中的原始代码:

br.select_form(name="simTrade")
br.form["symbolTextbox"] = "KO"
br.form["quantityTextbox"] = "10"
br.form["previewOrderButton"]
br.submit()

# Here we store all links on the new page
# but we can use br do any necessary processing.
links = [link for link in br.links()]

# This will take us back to the original page with the "simTrade" form.
br.back()

相关问题 更多 >