यदि तत्व C# और playwright.net पर दिखाई नहीं दे रहा है तो रीफ्रेश पेज को टाइमआउट कैसे करें


मेरे पास नीचे एक स्क्रिप्ट है जो स्वचालन स्क्रिप्ट का उपयोग करके यदि कोई तत्व दिखाई नहीं देता है तो पृष्ठ को स्वचालित रूप से रीफ्रेश करता है, और यह काम करता है लेकिन मैं चाहता हूं कि यह समय की अवधि के बाद रीफ्रेश करना बंद कर दे, उदाहरण के लिए 20 सेकंड या कई बार यदि तत्व दिखाई नहीं देता है तो परीक्षण विफल हो जाएगा और इसलिए यह असीमित रूप से ताज़ा नहीं होगा। यदि तत्व दिखाई दे रहा है तो नीचे दिया गया कोड काम करता है लेकिन यदि तत्व दिखाई नहीं देता है तो यह असीमित रूप से ताज़ा होता रहता है। कृपया कोई विचार है कि इसे कैसे हल किया जाए? धन्यवाद

सी#
do {
await Page.ReloadAsync(new PageReloadOptions() { Timeout = 5000 }); } 
while (!await Page.IsVisibleAsync("input[name='elementname']"))

मैंने क्या प्रयास किया है:

मैंने नीचे दिए गए कोड को आज़माया है लेकिन यदि तत्व दिखाई नहीं देता है तो यह असीमित रूप से ताज़ा हो जाता है:

सी#
do {
await Page.ReloadAsync(new PageReloadOptions() { Timeout = 5000 }); } 
while (!await Page.IsVisibleAsync("input[name='elementname']"))

समाधान 1

सबसे पहले, यदि यह बहुत अधिक हो रहा है, तो आप पुनः लोड को प्रति प्रयास पूरा करने के लिए अधिक समय देने के लिए टाइमआउट बढ़ाने पर विचार कर सकते हैं।
आपके प्रश्न के उत्तर में, एक बढ़ती हुई गिनती जोड़ें और एक निश्चित संख्या में लूप के बाद निकास को ट्रिगर करने के लिए इसका उपयोग करें, कुछ इस तरह:

सी#
int refreshCount = 0;
do {
    await Page.ReloadAsync(new PageReloadOptions() { Timeout = 5000 });
    refreshCount++;
} 
while (!await Page.IsVisibleAsync("input[name='elementname']") && refreshCount < 5)

コメント

タイトルとURLをコピーしました