"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > हेडलेस वातावरण में सेलेनियम कैसे चलाएं: "प्रदर्शन नहीं खोल सकता" त्रुटि पर काबू पाएं?

हेडलेस वातावरण में सेलेनियम कैसे चलाएं: "प्रदर्शन नहीं खोल सकता" त्रुटि पर काबू पाएं?

2024-11-19 को प्रकाशित
ब्राउज़ करें:710

How to Run Selenium in Headless Environments: Overcoming the

हेडलेस वातावरण में ग्राफ़िकल अनुप्रयोगों के निष्पादन को सक्षम बनाता है, जैसे कि 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