【发布时间】:2019-05-29 13:26:33
【问题描述】:
我正在尝试清除浏览器缓存,为此我需要单击浏览器设置弹出窗口的清除数据按钮,但是,我无法为 chrome 浏览器上的按钮编写 xpath
我已经尝试检查元素以找出按钮是否在 iframe 上但它不在 iframe 中,所以我决定尝试使用不带 iframe sn-p 的按钮,无论哪种方式元素都不会被追踪在dom中
public void clearBrowserCache() throws InterruptedException{
driver.get("chrome://settings/clearBrowserData");
Thread.sleep(2000);
System.out.println(driver.getWindowHandles());
String windowIds=driver.getWindowHandle();
// driver.switchTo().frame(windowIds);
driver.findElement(By.cssSelector(
[id=clearBrowsingDataConfirm]")).click();
}
预计我应该能够点击清除数据按钮 实际是我无法找到元素的 xpath
【问题讨论】:
-
您正在处理影子根元素。看到这个问题:stackoverflow.com/questions/37384458/….
-
您确定要切换到正确的句柄吗?如果我是你,我会在“清除浏览数据”之前获取句柄,并确保你没有切换到错误的句柄。当你打印出窗把手时它会说什么?
-
@DynamicSwarmi 我尝试打印仅打印一个窗口 ID 的 getWindowHandles,而且在检查时 DOM 没有任何 iframe
标签: selenium selenium-webdriver