我尝试了几种向表格添加滚动的方法,但只有一种方法可以正常工作。它们之间有什么不同?
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].scrollIntoView();", Element);
Run Code Online (Sandbox Code Playgroud)
WebElement element1 = driver.findElement(By.id("scrolled_element"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element1);
Run Code Online (Sandbox Code Playgroud)
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollBy(0,1000)");
Run Code Online (Sandbox Code Playgroud)
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
Run Code Online (Sandbox Code Playgroud) javascript selenium js-scrollintoview js-scrollby js-scrollto
我在哪里将window.scrollTo(0,0)呼叫置于反应组件中?
我试图将它直接放入render并尝试componentDidUpdate(等待所有内容都被渲染),但不知何故滚动条始终保持在同一位置.
- 编辑 -
问题是窗口和身体的CSS高度/溢出.
我正在使用 svelte 和 svelte-routing 创建一个网站,并在用户浏览时尝试滚动到页面顶部。在其他框架中,例如 React window.scrollTo(0, 0) 工作得很好。不幸的是,在 Svelte 中,以下代码没有执行任何操作:
import { onMount } from "svelte";
onMount(() => window.scrollTo(0,0));
Run Code Online (Sandbox Code Playgroud)
那么让这个工作成功的秘诀是什么?