2015-09-17 3 views
13

के बीच एक सत्र को "स्थानांतरित करना" संभव है, सिद्धांत रूप में, यदि मैं सेलेनियम की webdriver ऑब्जेक्ट से requests.Session ऑब्जेक्ट पर सभी कुकीज़ कॉपी करता हूं, तो अनुरोध जारी रहेगा जैसे सत्र था बाधित नहींक्या selenium.webdriver और request.session

विशेष रूप से, मुझे स्वचालन लिखने में दिलचस्पी है, जहां मैं सेलेनियम के माध्यम से वेबपृष्ठ पर विशिष्ट स्थान प्राप्त करता हूं, फिर requests पर एक निश्चित डाउनलोड लिंक पर जाता हूं, जो फाइल से विशिष्ट बाइट डाउनलोड और सत्यापित करेगा, और कभी-कभी पूर्ण फ़ाइल। (डाउनलोड फ़ाइल का मूल्य सेलेनियम में मेरी बातचीत के आधार पर बदल जाएगा)

उत्तर

12

हाँ यह निश्चित रूप से काम करेगा। कोड स्निपेट के बाद भी मदद करनी चाहिए -

headers = { 
"User-Agent": 
    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36" 
} 
s = requests.session() 
s.headers.update(headers) 

for cookie in driver.get_cookies(): 
    c = {cookie['name']: cookie['value']} 
    s.cookies.update(c) 
+0

ग्रेट, धन्यवाद। लाइन # 2 में हेडर अपडेट करने का उद्देश्य क्या है, और पैरामीटर 'हेडर' कहां से आते हैं? – Goro

+2

बस मेरा जवाब अपडेट करें। हेडर केवल अतिरिक्त हेडर भेजने के लिए हैं, ज्यादातर साइटें लोकप्रिय ब्राउज़र की उपयोगकर्ता-एजेंट स्ट्रिंग की अपेक्षा करती हैं। –

+0

आह, समझ में आता है। – Goro

संबंधित मुद्दे

 संबंधित मुद्दे