1. ホーム
  2. java

Selenium WebDriver (Selenium 2)でjavaを使ってページを上下にスクロールする。

2023-09-30 02:45:13

質問

Selenium 1 (a.k.a. Selenium RC)で、javaを使ってページスクロールを行うために以下のコードを書きました。

selenium.getEval("scrollBy(0, 250)");

Selenium 2 (WebDriver)で同等のコードは何ですか?

どのように解決するのですか?

シナリオ/テスト手順。

1. ブラウザを開き、以下のサイトに移動します。 テストURL

2. いくつかのピクセルを下にスクロールし、上にスクロール

の場合 下へスクロール :

WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("window.scrollBy(0,250)");

または、以下のようにすることもできます。

jse.executeScript("scroll(0, 250);");

について 上へスクロール :

jse.executeScript("window.scrollBy(0,-250)");
OR,
jse.executeScript("scroll(0, -250);");

ページの一番下までスクロールしてください。

シナリオ/テストのステップ。

1. ブラウザを開き、以下のサイトに移動します。 テストURL

2. ページの一番下までスクロールする

方法1:JavaScriptExecutorを使用する

jse.executeScript("window.scrollTo(0, document.body.scrollHeight)");

方法2:Ctrl+Endキーで実行する

driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL, Keys.END);

方法3:Javaのロボットクラスを使って

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_END);
robot.keyRelease(KeyEvent.VK_END);
robot.keyRelease(KeyEvent.VK_CONTROL);