JavaのSeleniumでクリックする対象を画面内に収める方法

otaguro 1,900views 更新:2014年10月7日

リンクをクリックしたいとき、ブラウザのウィンドウにリンクが収まっていないと、
リンクをクリック出来ないことがあります。
By.linkText(text)の位置までスクロールするには次のようにします。

    WebElement element = driver.findElement(By.linkText(text));
    ((JavascriptExecutor) driver).executeScript(
      "arguments[0].scrollIntoView(true);",
      element);
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("javascript:window.scrollBy(0,-80)");//scrollIntoView(true)だけだとスクロールしすぎるので、少し戻す
    try {
          Thread.sleep(m);
    } catch (InterruptedException ignroe) {
      // ignore
    }

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません