Python प्रतीक्षा गाइड | time.sleep देखि Selenium wait

1. Python को wait() कार्यको परिचय

Python मा, प्रोग्रामको कार्यान्वयनलाई अस्थायी रूपमा रोक्नका लागि विभिन्न तरिकाहरू छन्। विशेष गरी समय वा स्रोतको प्रतिबन्ध भएको प्रणाली वा अनुप्रयोगहरूमा, उपयुक्त प्रतिक्षा प्रक्रिया अनिवार्य हुन्छ। उदाहरणका लागि, वेब स्क्र्यापिङ वा स्वचालन प्रक्रियामा, पृष्ठको लोडिङ वा तत्वको प्रकट हुने कुराको प्रतिक्षा गर्न आवश्यक हुन्छ। यस लेखमा, Python मा प्रयोग हुने प्रतिनिधि प्रतिक्षा मेकानिज्महरूलाई विस्तृत रूपमा व्याख्या गर्नेछौं।

मुख्य प्रतिक्षा परिदृश्यहरू:

  • वेब स्वचालन (Selenium आदि)
  • प्रक्रिया नियन्त्रण
  • API अनुरोधको अन्तराल व्यवस्थापन

2. Python को समय‑आधारित प्रतीक्षा विधि(time.sleep

time.sleep Python को बिल्ट‑इन मोड्युल time मा समावेश छ, र निर्दिष्ट सेकेन्डको अवधि अनुसार प्रोग्रामलाई रोक्ने सबैभन्दा आधारभूत तरिका हो। उदाहरणका लागि, वेब अनुरोधको समायोजन वा निश्चित समय अन्तरालमा दोहोर्याइँने प्रक्रिया गर्न उपयोगी छ।

2.1 time.sleep() को प्रयोग

import time

# 5 सेकेन्डको प्रतीक्षा
time.sleep(5)
print("5 सेकेन्ड पछि कार्यान्वयन हुन्छ")
यो कोडले कार्यलाई 5 सेकेन्डको लागि रोक्छ, र त्यसपछि “5 सेकेन्ड पछि कार्यान्वयन हुन्छ” भन्ने सन्देश देखाउँछ।

2.2 उपयोग केसहरू र ध्यान दिनुपर्ने बुँदाहरू

time.sleep सरल छ, तर केही विशेष वातावरणमा उपयुक्त नहुन सक्छ। विशेष गरी, रियल‑टाइम आवश्यकताहरू भएका प्रणालीहरू (उदाहरण: स्वचालित ड्राइभिङ, वित्तीय लेनदेन प्रक्रिया) मा शुद्धताको समस्या उत्पन्न हुन्छ।
  • स्वचालित ड्राइभिङ:मिलिसेकेन्डको ढिलाइले गम्भीर दुर्घटना निम्त्याउन सक्छ।
  • वित्तीय लेनदेन:अर्डर प्रोसेसिङको केही सेकेन्डको ढिलाइले ठूलो घाटा ल्याउन सक्छ।
यी परिदृश्यहरूमा, उच्च शुद्धताको समय व्यवस्थापन आवश्यक छ।
年収訴求

3. Selenium मा प्रतीक्षा गर्ने तरिका

Selenium ब्राउज़रलाई स्वचालित रूपमा सञ्चालन गर्ने शक्तिशाली लाइब्रेरी हो। तर, पृष्ठ लोड वा तत्वको प्रदर्शनको प्रतिक्षा नगरी सञ्चालन सुरु गर्दा त्रुटि उत्पन्न हुन्छ, त्यसैले प्रतीक्षा कार्यक्षमता आवश्यक छ।

3.1 अन्तरङ्ग प्रतीक्षा (implicitly_wait)

अन्तरङ्ग प्रतीक्षा भनेको सबै तत्वहरू लोड हुने सम्म निर्दिष्ट समयसम्म प्रतीक्षा गर्ने सरल विधि हो। उदाहरणका लागि, तत्व लोड हुने सम्म अधिकतम 10 सेकेन्ड प्रतीक्षा गर्न सेट गर्न सकिन्छ।
from selenium import webdriver

driver = webdriver.Chrome()
driver.implicitly_wait(10)  # अधिकतम 10 सेकेन्ड प्रतीक्षा
driver.get('https://example.com')
element = driver.find_element_by_id('element_id')

3.2 स्पष्ट प्रतीक्षा (WebDriverWait)

अर्कोतर्फ, स्पष्ट प्रतीक्षा भनेको विशेष तत्व देखिनु सम्म प्रतीक्षा गर्ने अनुकूलन योग्य विधि हो। WebDriverWait प्रयोग गर्दा, निर्दिष्ट शर्त पूरा नभएसम्म प्रभावकारी रूपमा प्रतीक्षा गर्न सकिन्छ।
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, 'element_id')))
यस विधिमा, विशेष तत्व देखिनु सम्म प्रतीक्षा गर्दा, स्रोतको बर्बादीलाई न्यूनतममा राख्न सकिन्छ।

4. प्रक्रिया व्यवस्थापनमाos.wait()

Python को os.wait() अभिभावक प्रक्रियाले सन्तान प्रक्रियाको समाप्ति पर्खन प्रयोग गरिन्छ। यो सुविधा, धेरै प्रक्रियाहरू एकै समयमा चल्ने समानान्तर प्रक्रियाको व्यवस्थापनमा सहयोगी हुन्छ।

4.1 os.wait() को आधारभूत प्रयोग

import os

pid = os.fork()

if pid > 0:
    # अभिभावक प्रक्रिया सन्तान प्रक्रियाको समाप्ति पर्खन्छ
    os.wait()
    print("सन्तान प्रक्रिया समाप्त भयो")
else:
    # सन्तान प्रक्रिया
    print("सन्तान प्रक्रिया चलिरहेको छ...")
यो कोड अभिभावक प्रक्रिया os.wait() प्रयोग गरेर सन्तान प्रक्रियाको समाप्ति पर्खने उदाहरण हो। अभिभावक प्रक्रिया सन्तान प्रक्रिया सही रूपमा समाप्त नहुन्जेल अन्य कार्यहरू चलाउँदैन।
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

5. वास्तविक प्रयोग उदाहरण

5.1 वेब स्वचालन र स्क्र्यापिङ

वेब स्वचालनको अवस्थामा, Selenium को प्रतीक्षा मेकानिज्म विशेष गरी उपयोगी हुन्छ। उदाहरणका लागि, JavaScript द्वारा गतिशील रूपमा उत्पन्न तत्वहरूलाई सञ्चालन गर्दा, स्पष्ट प्रतीक्षा प्रयोग गरेर, तत्व पूर्ण रूपमा लोड हुने सम्म प्रतीक्षा गर्न सकिन्छ। यसले त्रुटिहरूलाई टाल्न मद्दत गर्दछ र प्रभावकारी वेब स्क्र्यापिङ सम्भव बनाउँछ।

5.2 समानान्तर प्रक्रिया र प्रक्रिया व्यवस्थापन

समानान्तर प्रक्रियामा, os.wait() प्रयोग गरेर, धेरै प्रक्रियाहरूले स्रोतहरूमा प्रतिस्पर्धा नगरी सामान्य रूपमा चल्ने गरी व्यवस्थापन गर्न सकिन्छ। ठूलो प्रणालीहरूमा, यस प्रकारको प्रतीक्षा कार्यक्षमता अनिवार्य हुन्छ।

6. प्रतीक्षा कार्यक्षमता चयन गर्ने तरिका र उत्तम प्रयोग

पर्खाइको विधि चयन गर्दा, प्रयोगको दृश्य र आवश्यक शुद्धता विचार गर्नुपर्छ。time.sleep सजिलै प्रयोग गर्न सकिन्छ, तर अधिक उन्नत कार्यहरू वा समानान्तर प्रक्रिया मा, Selenium को WebDriverWait वा os.wait() जस्ता विशेष विधिहरू प्रयोग गर्नु उपयुक्त हुन्छ。

उत्तम प्रतीक्षा कार्यक्षमता चयन गर्ने बुँदाहरू:

  • सरल ढिलाइको लागि time.sleep प्रयोग गर्नुहोस्。
  • वेब पृष्ठको गतिशील कार्यका लागि Selenium को स्पष्ट प्रतीक्षा。
  • समानान्तर प्रक्रियाको व्यवस्थापनका लागि os.wait() प्रभावकारी हुन्छ。

7. सारांश

Python को प्रतीक्षा कार्यक्षमता प्रभावकारी रूपमा प्रयोग गरेर, कार्यक्रमको प्रदर्शन र विश्वसनीयता उल्लेखनीय रूपमा सुधार हुन्छ।time.sleep जस्तै सरल विधिहरू देखि, Selenium र os.wait() जस्ता उन्नत सुविधाहरू सम्म, परिस्थितिको आधारमा उपयुक्त प्रतीक्षा विधि चयन गरी, अनुप्रयोगको स्थिरता सुनिश्चित गरौं।
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール