का उपयोग करके कुकीज को कैसे सहेजना और लोड करना है I Python के सेलेनियम वेबड्राइवर में सभी कुकीज़ को txt-file में कैसे सहेज सकते हैं, फिर उन्हें बाद में लोड कर सकते हैं? प्रलेखन getCookies फ़ंक्शन के बारे में कुछ भी नहीं कहता है।पाइथन + सेलेनियम वेबड्राइवर
उत्तर
आप वर्तमान कुकीज़ को अचार का उपयोग करके पाइथन ऑब्जेक्ट के रूप में सहेज सकते हैं। उदाहरण के लिए:
import pickle
import selenium.webdriver
driver = selenium.webdriver.Firefox()
driver.get("http://www.google.com")
pickle.dump(driver.get_cookies() , open("cookies.pkl","wb"))
और बाद में उसे शामिल करने:
import pickle
import selenium.webdriver
driver = selenium.webdriver.Firefox()
driver.get("http://www.google.com")
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
driver.add_cookie(cookie)
, याद रखें कि आप केवल वर्तमान डोमेन के लिए कुकी जोड़ सकते हैं। यदि आप अपना गोल्ज खाता जोड़ना चाहते हैं।
करो
browser.get('http://google.com')
for cookie in cookies:
browser.add_cookie(cookie)
यह उनके दस्तावेज में होना चाहिए :( – Tjorriemorrie
जब आप सत्र के लिए सत्र से कुकीज़ की आवश्यकता है वहाँ एक और तरीका यह करने के लिए है, ताकि प्रोफाइल के रूप फ़ोल्डरों का उपयोग करने के क्रोम विकल्प उपयोगकर्ता के डेटा-निर्देशिका का उपयोग करें, मैं चलाएँ:
chrome_options = Options()
chrome_options.add_argument("user-data-dir=selenium")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("www.google.com")
आप यहां लॉग इन कर सकते हैं जो मानवीय बातचीत की जांच करते हैं, मैं यह करता हूं और फिर कुकीज़ जो मुझे चाहिए, हर बार जब मैं उस फ़ोल्डर के साथ वेबड्राइवर शुरू करता हूं तो सबकुछ वहां होता है। आप एक्सटेंशन को मैन्युअल रूप से इंस्टॉल भी कर सकते हैं और उन्हें प्रत्येक सत्र में रख सकते हैं। Secon बार जब मैं चलाने के लिए, सभी कुकीज़ हैं:
chrome_options = Options()
chrome_options.add_argument("user-data-dir=selenium")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("www.google.com") #Now you can see the cookies, the settings, Extensions and the logins done in the previous session are present here
लाभ आप लोड करने के लिए, उतारना कुकीज़, स्थापना करते और एक्सटेंशन, परिवर्तन सेटिंग्स की आवश्यकता के बिना विभिन्न सेटिंग और कुकीज़, एक्सटेंशन के साथ एक से अधिक फ़ोल्डर का उपयोग कर सकते है , कोड के माध्यम से लॉग इन बदलें, और इस प्रकार प्रोग्राम ब्रेक के तर्क का कोई तरीका नहीं है, आदि। यह कोड द्वारा सभी को करने के लिए हैविन से भी तेज़ है।
- 1. सेलेनियम वेबड्राइवर
- 2. सेलेनियम वेबड्राइवर
- 3. सेलेनियम वेबड्राइवर
- 4. सेलेनियम वेबड्राइवर
- 5. सेलेनियम-वेबड्राइवर
- 6. सेलेनियम वेबड्राइवर
- 7. सेलेनियम वेबड्राइवर
- 8. सेलेनियम वेबड्राइवर
- 9. सेलेनियम वेबड्राइवर
- 10. सेलेनियम वेबड्राइवर
- 11. सेलेनियम वेबड्राइवर
- 12. सेलेनियम वेबड्राइवर
- 13. पायथन सेलेनियम वेबड्राइवर (यूआरएल) फ़ंक्शन
- 14. सेलेनियम वेबड्राइवर एनएच तत्व
- 15. सेलेनियम पायथन वेबड्राइवर
- 16. रूबी सेलेनियम वेबड्राइवर
- 17. सेलेनियम वेबड्राइवर पृष्ठ लोड
- 18. जीडीआई + सेलेनियम वेबड्राइवर
- 19. सेलेनियम वेबड्राइवर रिमोट सेटअप
- 20. सेलेनियम वेबड्राइवर 2.25.0
- 21. सेलेनियम वेबड्राइवर: फ़ायरफ़ॉक्स exe
- 22. सेलेनियम वेबड्राइवर क्रोम
- 23. सेलेनियम आरसी और वेबड्राइवर
- 24. सेलेनियम पायथन-बाध्यकारी वेबड्राइवर
- 25. सेलेनियम वेबड्राइवर वेबलेमेंट बढ़ाएं?
- 26. सेलेनियम वेबड्राइवर (xpath)
- 27. सेलेनियम पायथन वेबड्राइवर
- 28. प्राइमफेस सेलेनियम वेबड्राइवर + जावा
- 29. सेलेनियम वेबड्राइवर - सी #
- 30. सेलेनियम वेबड्राइवर: कस्टम विशेषता
मुझे "अचार प्रोटोकॉल होना चाहिए <= 2" त्रुटि। आपके द्वारा पोस्ट किए गए अचार कोड का उपयोग करना। इसका क्या मतलब है? क्या यह तर्कों का जिक्र है? –
क्या यह वही काम करेगा? cookieFile = open ("कुकीज़.pkl", "w") डंप = pickle.dumps (driver.get_cookies()) cookieFile.write (डंप) –
हाय हारून, मैंने नमूना को थोड़ा सा संशोधित किया है - मूल रूप से फ़ाइल खोलने वाले खंडों में 'बी' ध्वज जोड़ा गया। क्या आप इसके साथ प्रयास कर सकते हैं? –