मेरे पास पहले से स्थापित पायथन 3.x के साथ एक अपाचे सर्वर है और चल रहा है। अभी मैं सर्वर पर थोड़ा अजगर प्रोग्राम चलाने की कोशिश कर रहा हूं (मान लीजिए filename.py)। लेकिन यह पायथन प्रोग्राम सेलेनियम से क्रोम के लिए वेबड्राइवर का उपयोग करता है। इसके अलावा यह समय से नींद का उपयोग करता है (लेकिन मुझे लगता है कि यह डिफ़ॉल्ट रूप से आता है, इसलिए मुझे लगता है कि यह कोई समस्या नहीं होगी)

from selenium import webdriver

जब मैंने अपने कंप्यूटर पर पहली बार इस प्रोग्राम को कोड किया, तो मुझे न केवल ऊपर कोड की लाइन लिखनी पड़ी, बल्कि क्रोम के लिए वेबड्राइवर को मैन्युअल रूप से डाउनलोड करना था और इसे /usr/लोकल/बिन पर पेस्ट करना था। यदि आपको आश्चर्य हो तो फ़ाइल का लिंक यहां दिया गया है: Chorme के लिए वेबड्राइवर

वैसे भी, मुझे नहीं पता कि मेरे सर्वर पर इसे कॉन्फ़िगर करने के लिए क्या समानताएं हैं। क्या आपके पास कोई विचार है कि इसे कैसे करें? या कोई अवधारणा जो मैं अपाचे सर्वर पर पैकेज स्थापित करने से संबंधित सीख सकता हूं?

1
nacarratala 12 अप्रैल 2020, 19:44

1 उत्तर

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

सरल समाधान:

आपको ड्राइवर को usr/local/bin में स्थापित करने की आवश्यकता नहीं है। आपके पास .exe कहीं भी हो सकता है और आप इसे एक निष्पादन योग्य पथ के साथ निर्दिष्ट कर सकते हैं, उदाहरण के लिए यहां देखें।

सर्वर पर चलने का समाधान

यदि आपके पास सर्वर पर अजगर स्थापित है, तो आदर्श रूप से> 3.4 जो डिफ़ॉल्ट रूप से पाइप के साथ आता है। फिर एक स्टैंडअलोन सर्वर पर क्रोमड्राइवर स्थापित करें, निर्देशों का पालन करें यहां

ध्यान दें, सेलेनियम को हमेशा नियंत्रित करने के लिए ब्राउज़र के एक उदाहरण की आवश्यकता होती है।

सौभाग्य से, वहाँ ऐसे ब्राउज़र हैं जो सामान्य ब्राउज़रों की तरह भारी नहीं हैं जिन्हें आप जानते हैं। आपको आईई/फ़ायरफ़ॉक्स/क्रोम/ओपेरा खोलने की ज़रूरत नहीं है। आप HtmlUnitDriver का उपयोग कर सकते हैं जो HTMLUnit को नियंत्रित करता है - एक हेडलेस जावा ब्राउज़र जिसमें कोई UI नहीं है। या एक फैंटमजेएसड्राइवर जो फैंटमजेएस को चलाता है - वेबकिट पर चलने वाला एक और हेडलेस ब्राउज़र।

वे हेडलेस ब्राउज़र बहुत कम मेमोरी-हैवी होते हैं, आमतौर पर तेज़ होते हैं (चूंकि उन्हें कुछ भी प्रस्तुत करने की आवश्यकता नहीं होती है), उन्हें अपने द्वारा चलाए जा रहे कंप्यूटर के लिए ग्राफिकल इंटरफ़ेस उपलब्ध होने की आवश्यकता नहीं होती है और इसलिए आसानी से उपयोग करने योग्य सर्वर-साइड होते हैं .

हेडलेस सेटअप का नमूना कोड

op = webdriver.ChromeOptions()
op.add_argument('headless')
driver = webdriver.Chrome(options=op)

सेलेनियम आरसी चलाने पर भी पढ़ने लायक है, देखें यहां< /ए> उस पर।

1
AzyCrw4282 13 अप्रैल 2020, 00:30