C#Selenium关闭一个随机出现的灯箱

时间:2018-11-06 23:36:15

标签: c# selenium

我正在尝试关闭仅偶尔/随机弹出的灯箱。我意识到我可以使用显式等待来等待灯箱的关闭按钮可见,但是,这将浪费我所有不包含灯箱的页面加载的吞吐量。

var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(WaitTimeout));
wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(LightBoxCloseButtonSelector));

有没有解决这个问题的办法?也许一些FluentWait魔术?也许是JavascriptExecutor?

1 个答案:

答案 0 :(得分:0)

我能够通过在每次页面加载时使用JavaScriptExecutor执行以下Javascript来解决此问题:

var divs=document.getElementsByClassName('CLASS_NAME_OF_OVERLAY_CONTAINER');for(var i=0;i<divs.length;i++){divs[i].style.display='none'}