このページには多くの良い答えがあります。
- 私は通常、maximize.window()から始めますが、実際には、これをドライバーファクトリーまたはドライバーを初期化する場所で行います。これはデフォルトで行われるものです-常に。
- 通常、JavaScriptの遅延のため、要素を待機しています。
どちらも上記のさまざまな詳細で説明されています。私が見なかった答えはScrollToElementでした。要素のリストを処理しているときに、さらに要素、チェックボックスを作成しているようです。これにより、リスト内の要素が表示されているページから移動する可能性があります。時々、要素を肉眼で見ることができますが、それをクリックすることはできません。リストを処理するとき、スクロールを挿入する必要がある場合があります。
- ブレークポイントを設定し、使用している要素がウィンドウの端(上下左右)にあるかどうかを確認します。これが当てはまる場合、セレン経由ではアクセスできないことがありますが、マウスで手動でクリックできます。
これに出くわしたので、PageScroll.javaを作成し、そこにスクロールスクリプトを配置しました。このクラスのメソッドのいくつかを次に示します。
public static void scrollToTop(WebDriver driver) {
((JavascriptExecutor) driver)
.executeScript("window.scrollTo(0,0)");
}
public static void scrollToBottom(WebDriver driver) {
((JavascriptExecutor) driver)
.executeScript("window.scrollTo(0, document.body.scrollHeight)");
}
public static void scrollToElementTop(WebDriver driver, WebElement element) {
((JavascriptExecutor) driver).executeScript(
"arguments[0].scrollIntoView(true);", element);
}
public static void scrollToElementBottom(WebDriver driver, WebElement element) {
((JavascriptExecutor) driver).executeScript(
"arguments[0].scrollIntoView(false);", element);
}
その他の例については、Seleniumで要素をスクロールして表示するを
参照してください