मेरे पास वेबसाइट है जहां मुझे कुछ सामान (पीएनजी चित्र) डाउनलोड करने की आवश्यकता है। प्रक्रिया इस प्रकार है।

वेबसाइट पर जाएं -> क्रेडेंशियल के साथ लॉगिन करें -> आवश्यक सामग्री खोलें -> इमेज लिंक एड्रेस कॉपी करें -> इसे नोटपैड में पेस्ट करें -> नेक्स्ट बटन पर क्लिक करें -> इमेज लिंक एड्रेस को कॉपी करें -> इसे नोटपैड में पेस्ट करें। और जब तक मैं अगला बटन क्लिक नहीं कर सकता तब तक इसे दोहराएं। नोटपैड के अंदर उत्पन्न लिंक से मैं चित्र डाउनलोड कर सकता हूं और छवियों के बाद पीडीएफ पुस्तक बना सकता हूं। मैं urllib का उपयोग करके सभी चित्रों को डाउनलोड करने और पीआईएल पुस्तकालय के साथ चित्रों से पीडीएफ बनाने का प्रबंधन करता हूं।

ठीक है जो मैं सेलेनियम वेबड्राइवर और पायथन की मदद से बनाने का प्रबंधन करता हूं, मैं अपनी वेबसाइट पर लॉगिन कर सकता हूं, अपनी वांछित पॉपअप विंडो पर आने के लिए लिंक पर क्लिक कर सकता हूं जहां मैं अपनी जरूरत की सामग्री को स्क्रैप कर सकता हूं। लेकिन यहां मुझे समस्या है क्योंकि जब मुझे पॉपअप विंडो मिलती है तो मैं उसे कमांड driver.switch_to.window.(window_handle) से संभाल सकता हूं। जब मैं css_selector दर्ज करता हूं तो मुझे त्रुटि मिलती है:

selenium.common.exceptions.NoSuchElementException: संदेश: ऐसा कोई तत्व नहीं: तत्व का पता लगाने में असमर्थ: {"विधि": "सीएसएस चयनकर्ता", "चयनकर्ता": "li.buttonSpace: nth-child(3)"}

ठीक है, मेरा प्रश्न यह है कि, भले ही मैं आवश्यक तत्व का पता लगाने के साथ इस समस्या को हल कर दूं, मैं वेबसाइट को कैसे स्कैन कर सकता हूं और आईएमजी तत्व की तलाश कर सकता हूं? सेलेनियम या किसी अन्य पुस्तकालय के साथ भी?

-1
nitnelav91 22 अक्टूबर 2018, 22:02

1 उत्तर

सबसे बढ़िया उत्तर

मैंने अपनी समस्या हल की :), समस्या यह थी कि मेरे पास फ्रेम के अंदर फ्रेम था।

तो समाधान है:

driver.switch_to.frame(driver.find_element_by_xpath("frame_level_1"))
driver.switch_to.frame(driver.find_element_by_xpath("frame_level_2"))
element = driver.find_element_by_xpath("Desired button").click()
0
nitnelav91 27 अक्टूबर 2018, 16:35