環境構築
追記:2020/09/12Python(64bit版)でも確認しました。この辺りは、Python(32bit版)と変わりなさそうです。Selenium Selenium W
「Python」「Selenium」「WebDriver」を導入してください
動画での説明
■ 環境構築
1.Seleniumの導入 (0:11)
2.webdriverの導入 (0:31)
3.IE11の設定 その1/その2 (0:53)
4.動作確認 (1:21)
■ プログラミング
5.Google検索 (1:55)
6.検索結果の読取 (2:24)
7.ファイル出力 (2:45)
8.動作確認 (3:05)
■ 補足
9.IE操作時のコマンドプロンプトを非表示 (3:36)
10.レジストリ (4:09)
サンプルプログラム
・テキストボックスに入力
・HTMLから要素を読み出す
・配列に代入
・CSVファイルに出力
があるので、この組み合わせだけでも、結構いろいろできるかと思います。
import time
import csv
from selenium import webdriver
arr =list()
#----------------
#webdriver読込
#----------------
driver=webdriver.Ie("C:\\etc\\webdriver\\IEDriverServer_Win32_3.9.0\\IEDriverServer.exe")
#----------------
# Googe検索
#----------------
driver.get('https://www.google.com/')
search = driver.find_element_by_name('q')
search.send_keys('IE VBA')
search.submit()
time.sleep(10)
#----------------
# 検索結果の読取
#----------------
for i, g in enumerate(driver.find_elements_by_class_name("g")):
#------
#HTML要素の取得
#------
r = g.find_element_by_class_name("r")
title = r.find_element_by_tag_name("h3").text
u = r.find_element_by_tag_name("a").get_attribute("href")
s = g.find_element_by_class_name("s")
sum = s.find_element_by_class_name("st").text
#------
# 画面表示
#------
print("------ " + str(i+1) + " ------")
print(title)
print("\t" + u)
print("\t" + sum)
#------
#配列に代入
#-----
line = [title,u]
arr.append(line)
#----------------
# 検索結果をファイル出力
#----------------
with open('data.csv', 'w') as file:
writer = csv.writer(file, lineterminator='\n')
writer.writerows(arr)
#----------------
# 終了
#----------------
print('終了するには何かキーを押してください…')
input()
driver.quit()
追記:2022/03/03
Selenium 3系で動作するソースです。Selenium 4で動作させるためには、ソースの修正が必要です。
補足
クラスなど
・DOM の編集 | Chrome DevTools | Google Developers
タグ、クラス名などは、Chromeのデベロッパーツールで確認できます。
クラス名などの要素から、情報を取得する
Selenium API(逆引き)
https://www.seleniumqref.com/api/webdriver_gyaku.html
・要素を取得する
・要素から情報を取得する
あたりを参考に!!
コメントを残す