كيفية انتهاء مهلة صفحة التحديث إذا كان العنصر غير مرئي في 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をコピーしました