はじめに
pythonでseleniumの使い方を学習していたら、Warningが出てきたので、調べてみると、自分がつかっているseleniumが4でした
selenium 4だと、書き方が多少異なるようですので、備忘録として残したいと思いました。
- PC: M1 Mac book Air
- OS: Big Sur ver11.6
DeprecationWarning: executable_path has been deprecated, please pass in a Service object
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
s = Service('/Users/ds/work/py_lesson/tools/chromedriver')
driver = webdriver.Chrome(service=s, options=options)
driver.get('https://news.yahoo.co.jp')
状況としては、py_lesson
というディレクトリで、seleniumの学習をしています。
なので、tools
の中に、seleniumの公式ページからダウンロードしたchromedriver
を置いています。
Service()
の括弧の中に、chromedriver
のパスを入れてから、Chrome()
の引数として指定する感じですね。
UserWarning: find_element_by_* commands are deprecated. Please use find_element() instead
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
s = Service('/Users/ds/work/py_lesson/tools/chromedriver')
driver = webdriver.Chrome(service=s)
driver.get('https://news.yahoo.co.jp')
e = driver.find_element(By.TAG_NAME, "h2")
学習では、find_element_by_tag_name
を使っていましたが、どうやら、find_element
の括弧の中身は、By.ID
やBy.TAG_NAME
といったBy.xxx
を使うようです。