- //移动到元素element对象的“顶端”与当前窗口的“顶部”对齐
- ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element);
- ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
- //移动到元素element对象的“底端”与当前窗口的“底部”对齐
- ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(false);", element);
- //移动到页面最底部
- ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)");
- //移动到指定的坐标(相对当前的坐标移动)
- ((JavascriptExecutor) driver).executeScript("window.scrollBy(0, 700)");
- Thread.sleep(3000);
- //结合上面的scrollBy语句,相当于移动到700+800=1600像素位置
- ((JavascriptExecutor) driver).executeScript("window.scrollBy(0, 800)");
- //移动到窗口绝对位置坐标,如下移动到纵坐标1600像素位置
- ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 1600)");
- Thread.sleep(3000);
- //结合上面的scrollTo语句,仍然移动到纵坐标1200像素位置
- ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 1200)");
页面滚动条滑动
self.driver.execute_script(“window.scrollTo(0,document.body.scrollHeight);”) # 将页面滚动条滑到底部
self.driver.execute_script(“arguments[0].scrollIntoView();”, el) # 向下滑动滚动条,跳转到目标元素处
self.driver.execute_script(“arguments[0].scrollIntoView(false);”, el) # 向上滑动滚动条,跳转到目标元素处
arguments[0].scrollIntoView(),不能随意使用,会先把元素element对象的表格“顶端”移动到与当前窗口的“顶部”对齐,如果元素当前可见,可能移动后就不可见了,导致定位报错。
因为会把元素顶端对齐窗口顶部,有时候也会出现跳转后,元素仍然不可见的情况。如果是需要点击这个元素,可以使用下面这种方式:
self.driver.execute_script(“arguments[0].click();”, el) # 直接点击不可见的目标元素,不再先跳转。
滑动到页面底部
左下角
window.scrollTo(0,document.body.scrollHeight)
右下角
window.scrollTo(document.body.scrollWidth,document.body.scrollHeight)