我是自动化的新手,我正在尝试使用Java w/Selenium WebDriver自动化一些网站。没有cookie的用户将通过覆盖屏幕的JavaScript呈现插页式广告。广告上有一个"跳过这个广告"的链接来关闭它,我想关闭这个广告,这样我就可以避免让线程休眠20秒,直到广告自己消失。
网址:http://searchsqlserver.com
我似乎无法使用正常的finelement技术访问链接,我一直在尝试使用JavascriptExecutor,但没有运气。
这是我的代码(这不起作用!)来显示我想要做的事情:
if (Common.isElementPresent(By.id("adx_al"), driver)){
((JavascriptExecutor)driver).executeScript(findElement(By.linkText("Skip this advertisement")).click());
//Thread.sleep(20000);
}
广告在iframe
中。你需要
driver.switchTo.frame(driver.findElement(By.id("adx_ldi1_348897")))
...click() // on your advertisement
driver.switchTo().defaultContent()
注意,您可能需要使用框架定位符,可能是为了使其更通用。