1

我有一些看起来像这样的代码:

print 'Starting browser'
browser = webdriver.Firefox()

print 'Loading %s' % base_url
browser.get(base_url)

try:
    username_el = browser.find_element_by_css_selector('#username')
    username_el.send_keys(credentials['username'])
    password_el = browser.find_element_by_css_selector('#password')
    password_el.send_keys(credentials['password'])
    password_el.send_keys(Keys.RETURN)
    print 'Logging in'
    browser.get(base_url)
except NoSuchElementException:
    print 'Already logged in'
    pass

问题是它每次都必须登录(从不触发异常)。这有两个问题:

  1. 它使我的测试花费更长的时间,因为我每次都必须等待它登录
  2. 它对服务器的影响超过了它的需要

所以,我想保存并恢复我的浏览器会话,或者让浏览器保持打开状态并让 Selenium 控制它。

这可能吗?如果是这样,怎么做?

4

1 回答 1

1

我会尝试使用 get_cookies() 来获取任何会话 cookie,将其保存在浏览器会话(磁盘或其他)之间持久存在的某个位置,并在您启动新的浏览器会话时使用 add_cookie() 重新添加 cookie。

虽然没有测试过这个......

于 2012-06-27T20:37:18.073 回答