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