Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python Selenium】Webページのテキストを取得する方法

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 を使うことで、ページの情報を簡単に取得できます。