【问题标题】:Need to get page info after redirect with Mechanize in Python在 Python 中使用 Mechanize 重定向后需要获取页面信息
【发布时间】:2014-01-23 06:16:00
【问题描述】:
我花了很长时间在网上寻找答案,以及许多其他堆栈溢出页面。然而,他们似乎都没有完全回答我的问题。所以情况是我正在输入表单并提交,这将我带到了正确的页面。该页面基本上是一个加载页面,因为工作由网站完成,通常需要大约 10-20 秒。完成后,它通常会重定向用户,但我不知道如何让我的脚本被重定向并阅读新页面上的表单。我无法格式化 URL 以访问该页面,它必须位于加载页面上,网站才能完成工作并将您重定向到自定义 URL。如何让我的脚本等待几秒钟,然后被重定向,然后从新页面读取信息?
【问题讨论】:
标签:
python
forms
redirect
web
mechanize
【解决方案1】:
如果你可以使用 selenium,这很简单:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
browser = webdriver.Firefox()
browser.get("http://www.stackoverflow.com")
# fill data in the form
first_name_element = driver.find_element_by_name("first_name")
first_name_element.send_keys("Abc")
last_name_element = driver.find_element_by_name("last_name")
last_name_element.send_keys("Xyz")
elem.send_keys(Keys.RETURN) #submit the form
time.wait(20) # wait for 20 sec
# do something here with your final redirected page
browser.close()
缺点是这会打开一个Firefox窗口,用户操作会发生
自动,这一切看起来都令人毛骨悚然。