スポンサーリンク

[Python]Seleniumをversion4にしたらワーニングがでた

なんかSeleniumのバージョンを上げたらワーニングがでたのでメモ

バージョンの確認コマンド

pip list
selenium              4.0.0

実行するとこんなメッセージがでてくるようになった

[Python] Seleniumスクレイピングメモ
Pythonでスクレイピングをしてみたのでメモ Seleniumのインストール、よく使うブラウザ操作やJavaScriptの実行方法のメモ

前にメモに書いたコードを実行していたらなんかワーニングがでてきた。

UserWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
warnings.warn("find_elements_by_* commands are deprecated. Please use find_elements() instead")

find_element_by_css_selectorメソッドとかは非推奨になったらしい。
これからはfind_elementメソッド、find_elementsメソッドを使いましょうということらしい。

ということで使ってみる

find_elementメソッド、find_elementsメソッドのそれぞれの第1パラメータに何をつかって要素を探すか(CSSセレクタとかタグ名とか)を指定するみたい。
第2パラメータにはこれまでのように要素を選択するためのLocatorを指定する。

第1パラメータにはなんか文字列で指定するみたいで、それ用の文字列が定義されたByクラスというのがあるのでそれを使う。

from selenium import webdriver
from selenium.webdriver.common.by import By  #これを追加

そして、こんな感じに呼び出す。

driver.find_element(By.CSS_SELECTOR, 'div[id="YasNote"]')

Byクラスの中にはこんな感じで文字列が定義されている。

    ID = "id"
    XPATH = "xpath"
    LINK_TEXT = "link text"
    PARTIAL_LINK_TEXT = "partial link text"
    NAME = "name"
    TAG_NAME = "tag name"
    CLASS_NAME = "class name"
    CSS_SELECTOR = "css selector"

コメント