Selenium4について

公式よりSelenium4が正式にリリースされました。
Selenium3からのアップデートで追加された機能をまとめていきます。
動作確認が取れていないものは随時追記していきます。

Selenium4のインストール

# バージョンを指定してインストール
pip install selenium==4.0.0

※バージョンを指定せずに、通常のインストールを行ってもselenium4がインストールされていました。(2021/10/28現在)

# 通常のインストール
pip install selenium

# バージョン確認
selenium==4.0.0
# Selenium3からアップデート
pip install -U selenium

アップデートで追加された機能

タブやウィンドウの新規作成簡略化

複数のURLを別タブで開きたい時の記載がシンプルになりました!
Selenium3では「switch_to.windows()」でハンドルの切り替えが必要でした。
Selenium4では「new_window(‘tab’)」とするだけで同じ動きを実現できるようになっています。

#selenium3の場合
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://startlab.jp/')

# タブを作成
driver.execute_script('window.open()')

# 新規タブに切り替え
driver.switch_to.window(driver.window_handles[1]) 

driver.get('https://startlab.jp/learning-python/')
# selenium4の場合
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://startlab.jp/')

# 新規タブを作成し、作成した新規タブにフォーカス
driver.switch_to.new_window('tab')
driver.get('https://startlab.jp/learning-python/')

上記2つのコードをコピーして実際に動きを見ていただければ分かりますが、共に同じ動きをしています。
新規タブではなく、新規ウィンドウで開きたい場合は、new_window(‘window’)とすればOKです!

その他新機能

Relative Locators

Selenium Grid

BiDi APIs

この辺りは実装コードも含めて、別記事に詳細を記載します!
ウィンドウやタブのコントロールがシンプルになったのは良いですね!
ChrminiumDriverがChromeとEdgeの両方をフォローしてくれているのもGoodです。
ただ、find_elementが使えなくなったり、一部引数が変わっている所もあるようなので、引き続き検証を進めていきます!
全体的に見れば、初めてSeleniumに触れる人にも優しくなったのではないかと思われます。
追加の機能も考慮すれば、今までSeleniumで出来なかったことも実装出来そうですね!

講師
講師

Start Labでは、
未経験でも始められる入門コースから、DXや機械学習に特化したコースまで
スキルや目的に合わせて学習コースをお選びいただけます!
まずはお気軽にお問い合わせください✨