我正在自动与一个网站交互,用户必须手动刷新页面 n 次(有时 3 或 5 次甚至更长),以便按钮出现在网页上。为了克服这个问题,我创建了一个 do / while 循环,它应该刷新页面,直到按钮可见,以便可以单击它。问题是它不同步并无限循环。我尝试了下面的脚本,但它仍然没有停止刷新。知道如何让它在元素可见后立即停止刷新吗?默认情况下,该元素是不可见的,因此用户必须先刷新页面。刷新有效,但速度非常快,并且没有足够的时间检查按钮的可见性状态,也许这就是它进入无限循环的原因
int retries = 0;
bool isElementVisible = false;
do {
await Page.ReloadAsync(new PageReloadOptions() { Timeout = 5000 });
isElementVisible = await Page.IsVisibleAsync("input[name='elementname']");
retries ++;
while (!isElementVisible)