2016-03-05 61 views
0

我有一個對象,可以調用網頁罰款,甚至add_cookie角的js應用。但是,我想渲染一個正在大量使用angularjs的網站。出於某種原因,我似乎無法設置正確的餅乾,這是我從生活會話拉。所以我不確定有多少這是我得到錯誤的cookie的FOO,又有多少是角JS-foo的需要發生,我很想念。如果人們有輸入這裏將是巨大的,但因爲我不是我自己越來越遠,甚至指點我到哪兒去攝取的意見將是有益的。我已經清理了下面的值。甚至有一些關於如何調試的指針。我的目標是在頁面上呈現的div秒。Cookies和渲染使用Phantomjs和python

from selenium import webdriver 
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 
from bs4 import BeautifulSoup 

class WebPage(): 

    def __init__(self): 

     dcap = dict(DesiredCapabilities.PHANTOMJS) 
     dcap["phantomjs.page.settings.userAgent"] = (
      "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/53 " 
      "(KHTML, like Gecko) Chrome/15.0.87" 
     ) 
     self.driver = webdriver.PhantomJS(desired_capabilities=dcap, service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any']) 
     self.driver.set_window_size(1024, 768) 

    def get_page(self): 
     url = "http://proadvisor.intuit.com/search/index-standalone.html?v2#/search-result?location=60613&distance=500" 
     self.driver.get(url) 
     cookie = {'aam_aud': 'a_value', 'ttax': 0} 
     self.driver.add_cookie(cookie) 
     page = BeautifulSoup(self.driver.page_source, "lxml") 
     page.find_all("div") 


if __name__ == '__main__': 
    wp = WebPage() 
    wp.get_page() 

和剛纔得到:

selenium.common.exceptions.WebDriverException:消息:錯誤消息=> '只能設置Cookie當前域' 所造成的請求=> { 」頭「:{」接受「:」應用/ JSON「‘接受編碼’:‘同一性’,‘連接’:‘關閉’,‘內容長度’:‘104’,‘內容類型’:」應用/json;charset=UTF-8","Host":"127.0.0.1:34940","User-Agent":"Python-urllib/3.3"},"httpVersion":"1.1","method 「:」 POST 「 」後「: 」{\「 曲奇\ 」:{\「 aam_aud \ 」:\「 a_value \」,\ 「ttax \」:0},\ 「的sessionId \」:\ 「A-散列\」 } 「 」URL「: 」/曲奇「, 」urlParsed「:{ 」錨「: 」「, 」查詢「: 」「, 」文件「:」 曲奇「 」目錄「: 」/「, 」路徑「: 」/曲奇「, 」相對「: 」/曲奇「, 」口「: 」「, 」主人「: 」「, 」密碼「: 」「,」用戶 「:」 「 」用戶信息「: 」「, 」權威「: 」「, 」協議「: 」「, 」源「: 」/餅乾「, 」queryKey「:{}, 」塊「:[」 餅乾「]},」 urlOriginal 「:」/會話/ a_hash /曲奇「}

回答

1

你必須域添加到您的cookie。

嘗試這樣:

cookie = {'aam_aud': 'a_value', 'ttax': 0, 'domain' : http://proadvisor.intuit.com} 

您可能必須發揮它有點爲自己的基本網址,但我認爲應該工作。您必須告訴cookie您想要使用該cookie的網站。