के लिए पाइथन बाइंडिंग में समतुल्य समकक्ष मैं सेलेनियम से वेबड्राइवर तक कुछ परीक्षण चला रहा हूं। मेरी समस्या यह है कि मुझे selenium.wait_for_condition के बराबर नहीं मिल रहा है। क्या पाइथन बाइंडिंग इस समय है, या फिर भी यह योजना बनाई गई है?selenium.wait_for_condition वेबड्राइवर
उत्तर
वर्तमान में WebDriver के साथ wait_for_condition का उपयोग करना संभव नहीं है। पाइथन सेलेनियम कोड पुरानी सेलेनियम विधियों तक पहुंचने के लिए ड्राइववेसेनियम कक्षा प्रदान करता है, लेकिन यह wait_for_condition नहीं कर सकता है। The selenium wiki has some info on that।
आपकी सर्वश्रेष्ठ शर्त WebDriverWait क्लास का उपयोग करना है। यह एक सहायक वर्ग है जो समय-समय पर कार्य को निष्पादित करता है ताकि वह सही लौट सके। मेरे सामान्य उपयोग यह समाधान कोई आदर्श तरह से है
driver = webdriver.Firefox()
driver.get('http://example.com')
add = driver.find_element_by_id("ajax_button")
add.click()
source = driver.page_source
def compare_source(driver):
try:
return source != driver.page_source
except WebDriverException:
pass
WebDriverWait(driver, 5).until(compare_source)
# and now do some assertions
है .. ट्राई/छोड़कर स्थितियों में, जहां पेज अनुरोध/प्रतिक्रिया चक्र कुछ ajax गतिविधि को पूरा करने के लिए इंतज़ार कर देरी हो रही है के लिए आवश्यक है। अगर तुलना/प्रतिक्रिया चक्र के बीच तुलना_सोर्स को बुलाया जाता है तो यह एक वेबड्राइवर अपवाद फेंक देगा।
test coverage for WebDriverWait भी देखने में मददगार है।
जावा बाइंडिंग में प्रतीक्षा कक्षा शामिल है। यह कक्षा समय-समय पर पहुंचने तक एक शर्त (बीच में सोती है) के लिए बार-बार जांचती है। यदि आप सामान्य एपीआई का उपयोग करके अपने जावास्क्रिप्ट को पूरा करने का पता लगा सकते हैं, तो आप एक ही दृष्टिकोण ले सकते हैं।
यहाँ ग्रेग Sadetsky के जवाब के अपने संस्करण, एक समारोह में डाल दिया है:
def click_n_wait(driver, button, timeout=5):
source = driver.page_source
button.click()
def compare_source(driver):
try:
return source != driver.page_source
except WebDriverException:
pass
WebDriverWait(driver, timeout).until(compare_source)
यह बटन क्लिक करता है, डोम बदलने के लिए इंतजार कर रहा है और उसके बाद वापस आती है।
- 1. वेबड्राइवर
- 2. वेबड्राइवर
- 3. वेबड्राइवर
- 4. वेबड्राइवर
- 5. वेबड्राइवर
- 6. वेबड्राइवर बनाम वेबड्राइवर में जुनीट प्रारूप
- 7. वेबड्राइवर - जावा
- 8. सेलेनियम वेबड्राइवर
- 9. सेलेनियम वेबड्राइवर
- 10. सेलेनियम-वेबड्राइवर
- 11. सेलेनियम वेबड्राइवर
- 12. सेलेनियम वेबड्राइवर
- 13. सेलेनियम वेबड्राइवर
- 14. सेलेनियम वेबड्राइवर
- 15. वेबड्राइवर फ़ायरफ़ॉक्स
- 16. सेलेनियम वेबड्राइवर
- 17. वेबड्राइवर: क्रोम
- 18. सेलेनियम वेबड्राइवर
- 19. वेबड्राइवर स्क्रीनशॉट
- 20. क्या वेबड्राइवर
- 21. जावा वेबड्राइवर
- 22. सेलेनियम वेबड्राइवर
- 23. वॉटर-वेबड्राइवर
- 24. सेलेनियम वेबड्राइवर
- 25. सेलेनियम वेबड्राइवर
- 26. सेलेनियम वेबड्राइवर एनएच तत्व
- 27. वेबड्राइवर: नया तत्व जोड़ें
- 28. सेलेनियम पायथन वेबड्राइवर
- 29. रूबी सेलेनियम वेबड्राइवर
- 30. वॉटर-वेबड्राइवर पेज लोड
ऐसा लगता है जैसे आप दृश्यता का परीक्षण कर सकते हैं। 'selenium.webdriver.support से अपेक्षित_conditions आयात करें' और फिर 'ec.visibility_of (elm)'। इसका रिटर्न ऑब्जेक्ट 'selenium.webdriver.support.expected_conditions.visibility_of' है, लेकिन मुझे यह पता नहीं लगा है कि इसकी दृश्यता कैसे प्राप्त करें। – huggie