1
我有一些代碼,看起來像這樣:如何恢復瀏覽器會話或使用現有的瀏覽器窗口與Selenium-Python?
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
的問題是,它必須每次登錄的時候(從來沒有車次除外)。這有兩個問題:
- 這使得因爲我必須等待它每次登錄在我的測試中需要更長的時間
- 它擊中的服務器超過了它需要
所以,我想要保存並恢復我的瀏覽器會話,或者讓瀏覽器保持打開狀態並讓Selenium控制它。
這可能嗎?如果是這樣,怎麼樣?
我會試試看。我嘗試手動從我的「真實」瀏覽器中竊取cookie並複製這些cookie,但沒有奏效。我會嘗試用'get_cookies'來抓取它們......也許會話有點不同。 – mpen
確實有效。之所以失敗,是因爲[文檔](http://selenium-python.readthedocs.org/en/latest/api.html?highlight=add_cookie#selenium.webdriver.remote.webdriver.add_cookie)充滿了謊言。它實際上需要一個帶有名稱,值,域,主機,到期鍵的字典,而不是鍵/值對。 – mpen