SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

【Ruby】Seleniumで要素を除外して取得する方法


Seleniumを利用していると取得したくない要素も取得してしまってうまく動作しないことがあると思います。

除外するメソッドは用意されていないみたいです。

Ruby on Railsを書いているひとであれば、 .notとかしたくなると思います。 jQueryでも.notでclassが指定できたりしますよね。

Seleniumを利用している際は、
結論から書くと引き算すればOKです。

要素の引き算をする

all = driver.find_elements(:css, '.all-count')
exclude_element = driver.find_elements(:css, '.sub')
resulet = all - exclude_element

とすればresultの中身は除外したものだけになります。

ドキュメント

https://www.selenium.dev/documentation/ja/webdriver/web_element/