Comment expirer une page d’actualisation si l’élément n’est pas visible C# et playwright.net

la programmation


J’ai un script ci-dessous qui actualise automatiquement la page si un élément n’est pas visible à l’aide d’un script d’automatisation, et cela fonctionne mais je souhaite qu’il arrête de s’actualiser après un certain temps, par exemple 20 secondes ou plusieurs fois si l’élément n’est pas visible. le test échouera et ne sera donc pas infiniment rafraîchissant. Le code ci-dessous fonctionne si l’élément est visible mais si l’élément n’est pas visible, il continue de s’actualiser à l’infini. Une idée de comment résoudre ce problème s’il vous plaît ? Merci

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

Ce que j’ai essayé :

J’ai essayé le code ci-dessous mais il se rafraîchit à l’infini si l’élément n’est pas visible :

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

Solution 1

Premièrement, si cela se produit fréquemment, vous pouvez envisager d’augmenter le délai d’attente pour donner au rechargement plus de temps pour se terminer par essai.
En réponse à votre question, ajoutez un nombre incrémentiel et utilisez-le pour déclencher la sortie après un certain nombre de boucles, quelque chose comme ceci :

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

コメント

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