हेडलेस वातावरण में ग्राफ़िकल अनुप्रयोगों के निष्पादन को सक्षम बनाता है, जैसे कि EC2 उदाहरण जिनमें GUI की कमी होती है। ग्राफिकल यूजर इंटरफ़ेस के बिना सर्वर पर सेलेनियम परीक्षण चलाने के लिए यह आवश्यक है।
हालाँकि, सेलेनियम और Xvfb स्थापित करने के बाद भी, परीक्षण चलाने का प्रयास करते समय आपको "त्रुटि: डिस्प्ले नहीं खुल सकता: :0" का सामना करना पड़ सकता है। यह वेब पेजों के साथ इंटरैक्ट करने के लिए ग्राफ़िकल डिस्प्ले पर सेलेनियम की निर्भरता से उत्पन्न होता है। , जो Xvfb को पायथन मॉड्यूल के रूप में समाहित करता है। ये मॉड्यूल एक वर्चुअल डिस्प्ले का अनुकरण करते हैं, जिससे सेलेनियम को हेडलेस वातावरण में चलने की अनुमति मिलती है:विकल्प 1: PyVirtualDisplay
pyvirtualdisplay आयात डिस्प्ले से सेलेनियम आयात वेबड्राइवर से प्रदर्शन = प्रदर्शन(दृश्य=0, आकार=(800, 600)) प्रदर्शन.प्रारंभ() ब्राउज़र = वेबड्राइवर.फ़ायरफ़ॉक्स() ब्राउज़र.गेट('http://www.google.com') प्रिंट(ब्राउज़र.शीर्षक) ब्राउज़र.छोड़ें() डिस्प्ले.स्टॉप()
विकल्प 2: Xvfbwrapper
xvfbwrapper से आयात Xvfb वीडिस्प्ले = Xvfb() vdisplay.प्रारंभ() ब्राउज़र = वेबड्राइवर.फ़ायरफ़ॉक्स() ब्राउज़र.गेट('http://www.google.com') प्रिंट(ब्राउज़र.शीर्षक) ब्राउज़र.छोड़ें() vdisplay.stop()
आप प्रक्रिया को सरल बनाने के लिए एक संदर्भ प्रबंधक का भी उपयोग कर सकते हैं:from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=0, size=(800, 600)) display.start() browser = webdriver.Firefox() browser.get('http://www.google.com') print(browser.title) browser.quit() display.stop()xvfbwrapper आयात Xvfb से Xvfb() के साथ xvfb के रूप में: # यहां वर्चुअल डिस्प्ले के अंदर सामान लॉन्च करें। # यह इस कोड ब्लॉक में शुरू/बंद होता है।
इन मॉड्यूल का उपयोग करके, आप प्रभावी ढंग से हेडलेस सर्वर पर सेलेनियम परीक्षण चला सकते हैं जिनमें ग्राफिकल यूजर इंटरफेस की कमी है, यह सुनिश्चित करते हुए कि आपके परीक्षण किसी भी वातावरण में सफलतापूर्वक निष्पादित हो सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3