如果元素不可见,如何使刷新页面超时 C# 和 playwright.net

编程


我下面有一个脚本,如果使用自动化脚本某个元素不可见,它会自动刷新页面,这可以工作,但我希望它在一段时间后停止刷新,例如 20 秒或多次(如果该元素不可见),所以测试将会失败,因此它不会最终无限刷新。 如果元素可见,则下面的代码有效,但如果元素不可见,则它会无限刷新。 知道如何解决吗? 谢谢

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

我尝试过的:

我已经尝试了下面的代码,但如果元素不可见,它会无限刷新:

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

解决方案1

首先,如果这种情况经常发生,您可以考虑增加超时时间,以便每次尝试都有更多时间完成重新加载。
为了回答您的问题,添加一个递增计数并使用它在一定数量的循环后触发退出,如下所示:

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

コメント

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