Python 传输机械化浏览器会话

Python transfer mechanize browser session

我在尝试通过登录屏幕浏览网站时遇到一点困难。我使用 mechanize 完成了此操作。但是,一旦我浏览过登录页面,我想与该页面进行交互,单击属性等,机械化无法做到。我也想做这一切 "behind the curtain" 所以浏览器 window 是不可见的(尽量不使用 selenium)。

这是我用来登录的代码。我该怎么做才能开始与页面互动

import mechanize

br = mechanize.Browser()
#get computer browser

br.set_handle_robots(False)
#what robots?

br.open("www.website.com")
#open website

br.select_form(nr=0)
#get the main form    

br.set_all_readonly(False)

for control in br.form.controls:
    print control

user_control = br.form.controls[0]
user_control._value = 'username'

user_password = br.form.controls[1]
user_password._value = 'password'

br.submit()

一种选择是 "transfer" 从 mechanizeselenium 的 cookie,并使用 selenium 无头浏览器 类似PhantomJS or with a virtual display。或者,完全切换到 selenium+PhantomJS(包括身份验证步骤)。

另请参阅:

  • Python: how to dump cookies of a mechanize.Browser instance?
  • How to save and load cookies using python selenium webdriver