Syntax Error.

[Sy] Selenium WebDriver (Ruby) にて、要素の width と height を取得する方法

2016/08/21

Webサイトのテスト自動化などに便利な Selenium WebDriverRuby で使ってみてます。

要素の幅と高さ( widthheight )を取得する必要があったのですが、パッとわからなかったのでメモです。

まずは要素を取得する必要があるので、今回はclass名(例としてclass="target")を指定して要素を取得します。なお、Chromeのドライバを使用します。

require 'selenium-webdriver'

# Chromeのドライバを使用
driver = Selenium::WebDriver.for :chrome

# ページを取得
driver.get "http://example.com/aaa/bbb"

# 幅と高さを知りたい要素をclass名を指定して取得
element = driver.find_element(:css, ".target")

これでclass名がtargetとなっている要素が一つ取れたので、幅と高さを取得します。

# elementの幅を取得
width = element.size.width

# elementの高さを取得
height = element.size:height

いきなりelement.widthといった取得はできないので、まずはsizeメソッドを呼び出して、その返り値からwidthheightをそれぞれ取る必要があります。