Bagaimana cara menghentikan waktu halaman penyegaran jika elemen C# dan playwright.net tidak terlihat

pemrograman


Saya memiliki skrip di bawah ini yang menyegarkan halaman secara otomatis jika suatu elemen tidak terlihat menggunakan skrip otomatisasi, dan ini berfungsi tetapi saya ingin skrip tersebut berhenti menyegarkan setelah jangka waktu tertentu, misalnya 20 detik atau beberapa kali jika elemen tersebut tidak terlihat. tes akan gagal sehingga tidak menyegarkan selamanya. Kode di bawah ini berfungsi jika elemen terlihat tetapi jika elemen tidak terlihat, kode akan terus disegarkan tanpa batas. Adakah yang tahu bagaimana cara mengatasinya? Terima kasih

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

Apa yang saya coba:

Saya telah mencoba kode di bawah ini tetapi kode tersebut menyegarkan tanpa batas jika elemennya tidak terlihat:

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

Solusi 1

Pertama, jika hal ini sering terjadi, Anda dapat mempertimbangkan untuk menambah waktu tunggu agar pemuatan ulang lebih banyak waktu untuk diselesaikan setiap kali percobaan.
Untuk menjawab pertanyaan Anda, tambahkan hitungan pertambahan dan gunakan itu untuk memicu keluar setelah sejumlah loop tertentu, kira-kira seperti ini:

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

コメント

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