Cách hết thời gian làm mới trang nếu phần tử không hiển thị C# và playwright.net

lập trình


Tôi có một tập lệnh bên dưới tự động làm mới trang nếu một phần tử không hiển thị bằng tập lệnh tự động hóa và tập lệnh này hoạt động nhưng tôi muốn nó dừng làm mới sau một khoảng thời gian, ví dụ như 20 giây hoặc một số lần nếu phần tử đó không hiển thị thử nghiệm sẽ thất bại và do đó nó không được làm mới vô hạn. Mã bên dưới hoạt động nếu phần tử hiển thị nhưng nếu phần tử không hiển thị, nó sẽ tiếp tục làm mới vô tận. Bất cứ ý tưởng làm thế nào để giải quyết nó xin vui lòng? Cảm ơn

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

Những gì tôi đã thử:

Tôi đã thử mã bên dưới nhưng nó làm mới vô tận nếu phần tử không hiển thị:

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

Giải pháp 1

Đầu tiên, nếu điều này xảy ra nhiều, bạn có thể cân nhắc việc tăng thời gian chờ để quá trình tải lại có thêm thời gian hoàn thành mỗi lần thử.
Để trả lời câu hỏi của bạn, hãy thêm số đếm tăng dần và sử dụng số đó để kích hoạt thoát sau một số vòng lặp nhất định, đại loại như thế này:

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

コメント

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