webdriver.executeScript("arguments[0].scrollIntoView();", element);
这会将元素滚动到视图中,但它会在页面的标题后面。
如何将元素滚动到视图中,使元素位于标题的正下方而不是标题后面?
答案 0 :(得分:7)
方法scrollIntoView
可以滚动视图顶部或底部的元素,默认位于顶部:
https://developer.mozilla.org/en/docs/Web/API/Element/scrollIntoView
所以你可以在底部滚动它:
webdriver.executeScript("arguments[0].scrollIntoView(false);", element);
您也可以在顶部滚动它,然后按视图高度的1/4滚动:
webdriver.executeScript("arguments[0].scrollIntoView(true); window.scrollBy(0, -window.innerHeight / 4);", element);
或者在固定标题下面:
webdriver.executeScript("arguments[0].scrollIntoView(true); window.scrollBy(0, -arguments[1].offsetHeight);", element, header);
答案 1 :(得分:1)
如果您需要关注特定元素,请尝试以下操作:
JavascriptExecutor js =(JavascriptExecutor)driver;
WebElement element =(WebElement)js.executeScript("document.querySelector('#urID').focus()");