java - 是否有可能在 Selenium 中刷新某个帧
问题描述
我想使用 Selenium 刷新某个 IFrame。我想到的唯一方法是在某些 WebElement 上为 f5 使用 Key。
driver.switchTo().parentFrame();
driver.findElement(By.id("main")).sendKeys("\\uE035");
但它确实重新加载了整个页面,这不是我需要的。有一个选项可以在所选框架上使用鼠标右键重新加载它,然后您可以选择“重新加载框架”选项,但 chrome 没有为此提供快捷方式,这使得无法在某个 WebElement 上使用 SendKeys()。
解决方案
看起来您正在对 parentElement 而不是实际的 iFrame 元素进行刷新。
试试下面的东西。如果您有多个 iframe 元素,则需要使用不同的选择器。
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementsByTagName('iframe')[0].contentWindow.location.reload();");