我在主窗口顶部打开了一个术语。这就是滚动条的样子:
新窗口无法识别为新窗口'或标签所以我无法正常切换到它,也不是iframe所以driver.switchTo()。frame(iframe);也不行。这是我到目前为止所尝试的:
1)单击元素(按元素我的意思是包含内容的覆盖片段。什么都不做。
2)使用以下方法切换焦点:
jse.executeScript("var ov = document.getElementsByClassName('overlay__content'); window.setTimeout(function () { ov[0].focus(); }, 0); ");
3)尝试单击然后使用切换到活动元素:
_driver.getWebDriver().switchTo().activeElement();
这些结果都不起作用。我试图切换到一个窗口然后使用ashot来获得全屏screnshot。这与iframe很有效,但我对如何在这里继续感到困惑。任何scrollBy(0,10)等都会导致主窗口滚动。
答案 0 :(得分:0)
为了在overlay div中滚动你可以用这样的JavaScriptExecuter创建一个方法;
public void scrollDownInsideOf(WebElement element, int pxForScrollDown) {
JavascriptExecutor js = (JavascriptExecutor) webDriver;
js.executeScript("arguments[0].scrollTop = arguments[1];", element, pxForScrollDown);
}
元素应该是带有叠加层的内部div