c# - C# Selenium 关闭随机出现的灯箱
问题描述
我正在尝试关闭一个仅偶尔/随机弹出的灯箱。我意识到我可以使用显式等待来等待灯箱的关闭按钮可见,但是,它会浪费地限制我在所有不包含灯箱的页面加载时的吞吐量。
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(WaitTimeout));
wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(LightBoxCloseButtonSelector));
甚至有解决这个问题的方法吗?也许有一些 FluentWait 魔法?也许是JavascriptExecutor?
解决方案
我能够通过在每个页面加载时使用 JavaScriptExecutor 执行以下 Javascript 来解决此问题:
var divs=document.getElementsByClassName('CLASS_NAME_OF_OVERLAY_CONTAINER');for(var i=0;i<divs.length;i++){divs[i].style.display='none'}