1
我无法让selenium webdriver识别并点击导航至www.oneplace.com时显示的覆盖图的任何部分。点击时,叠加层将被解散。请参阅下面的我的硒代码Selenium似乎无法识别覆盖
IWebDriver wd = new ChromeDriver();
try {
wd.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(7));
wd.Navigate().GoToUrl("https://www.google.co.uk/);
wd.Navigate().GoToUrl("http://www.oneplace.com/");
wd.FindElement(By.Id("takeoverOverlay")).Click();
if (!wd.FindElement(By.TagName("html")).Text.Contains("DONATE")) {
Console.Error.WriteLine("verifyTextPresent failed");
}
}
finally { wd.Quit(); }
喜杰夫,非常感谢您的回答和建议。你的解决方案工作正常这些只是我使用硒的早期日子。说过我认为其中一些覆盖图的右上角没有X.而且,用户可以自由地以尽可能快的方便方式解除覆盖。我有点想知道是否有解决最初的问题,只需点击覆盖层透明度的一部分来消除覆盖层。 – olusegun
当您告诉Selenium单击一个元素时,它将单击该元素的中心。当元素是浏览器窗口的大小,并且中心通常是弹出窗口的位置时,您需要“帮助”Selenium点击您想要的位置。您可以使用具有偏移量的“Actions”和“MoveToElement”来执行此操作,并单击屏幕上的任意位置,但必须根据要点击的位置进行一些计算,以避免单击屏幕或浏览器。 – JeffC
累积奖金。非常感谢这位兄弟。 – olusegun