2013-12-08 22 views
1

我正在嘗試使用python mechanize登錄並逐步瀏覽一個網站,該網站的初始頁面有一個警告,必須點擊並確認以便能夠進入登錄頁面。點擊鏈接激活一個JavaScript函數,該函數設置一個cookie並將您發送到登錄頁面。如何通過python機械化中的javascript函數模擬cookie的設置?

的警告在HTML是

<a id='has-seen-warning' class='button' href='/login/'>I Agree</a> 

和設置cookie的JavaScript如下:

<script> 
    $(function(){ 
     var agreed_to_cookie = 'agreed_to_notice'; 
     $('#has-seen-warning').click(function(){ 
      $.cookie(agreed_to_cookie, 'True', {expires: 365, path:'/', secure: true}); 
     }); 
    }); 
</script> 

示意,我的Python代碼如下:

import mechanize 
br = mechanize.Browser() 
url = "https:/blah.blah/login" 
# Call login page first time 
br.open(url) 
# but get request to agree to notice. 
# Set the cookie 
br.set_cookie("agreed_to_cookie=True; expires=Sunday, 08-Dec-13 23:12:40 GMT") 

# call the log in page again 
br.open(url) 

我應該如何設置cookie,使其看起來已經閱讀並單擊警告?

回答

2

您已複製Set-Cookie字符串錯誤。試試這個

// TODO: replace expiration date with your own 
br.set_cookie("agreed_to_notice=True; path=/; expires=Sunday, 08-Dec-14 23:12:40 GMT; secure") 
+0

工作就像一個魅力。謝謝! – rapvelopment