
Seleniumでは、Webページに表示されている文字を取得することができます。
例えば次のような処理です。
-
商品名の取得
-
記事タイトルの取得
-
価格の取得
この記事では Seleniumでテキストを取得する方法を解説します。
テキストを取得する基本方法
テキストは .text を使って取得します。
from selenium.webdriver.common.by import By
element = driver.find_element(By.ID, "title")
text = element.text
print(text)
例
HTML
<h1 id="title">Python Selenium Tutorial</h1>
取得結果
Python Selenium Tutorial
一行で書く方法
次のように書くこともできます。
title = driver.find_element(By.ID, "title").text
title = driver.find_element(By.ID, "title").text
複数のテキストを取得する
複数の要素がある場合は find_elements を使います。
elements = driver.find_elements(By.CLASS_NAME, "item")
for element in elements:
print(element.text)
例
Apple
Orange
Banana
テキスト取得でよくある問題
テキストが取得できない場合は
-
要素がまだ読み込まれていない
-
JavaScriptで動的に表示されている
可能性があります。
この場合は WebDriverWait を使うと解決できます。
まとめ
Seleniumでテキストを取得する基本は次の通りです。
text = driver.find_element(By.ID, "title").text
.text を使うことで、ページの情報を簡単に取得できます。