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

問題は、毎回ログインする必要があることです(例外をトリップすることはありません)。これには2つの問題があります。

  1. 毎回ログインするのを待たなければならないので、テストに時間がかかります
  2. 必要以上にサーバーにヒットします

そのため、ブラウザセッションを保存して再開するか、ブラウザを開いたままにしてSeleniumに制御させたいと思います。

これは可能ですか?もしそうなら、どのように?

4

1 に答える 1

1

get_cookies() を使用してセッション Cookie を取得し、それをブラウザー セッション間 (ディスクなど) に永続的に保存し、新しいブラウザー セッションをプルアップするときに add_cookie() を使用して Cookie を再度追加します。

これはテストしていませんが...

于 2012-06-27T20:37:18.073 に答える