ほつた@はてな

ほつたが技術的な事や個人的な出来事を中心に投稿します。

Selenium+xlrdでエクセルファイルを読み込んでブラウザテストする方法

エクセルファイルを読み込んでテストをしたい。

Python初心者の自分がxlrdを悪戦苦闘しながらも何とか使えるまでのコードを書く。

Seleniumとは何かは割愛。

akiyoko.hatenablog.jp

 

さてxlrdはpipでインストールできる。

pip install xlrd

扱い方で非常に参考になったサイト

d.hatena.ne.jp

#ファイル読み込み

workbook=xlrd.open_workbook('hoge.xlsx')

#シートの読み込み
sheet=workbook.sheets()[0] 

#1行3(C)列目のセルを取得

a = sheet.cell_value(1,3)

本題は1行ずつ読み込むことだった

Python初心者なので全く分からず右往左往して何とか書いてみた

#出だしは一行に纏められると思うけど面倒なので

from selenium import webdriver
driver = webdriver.Ie()
import time, xlrd
#一行目がヘッダならa=1(行も列も0からカウントなので注意)

a = 1

#行数を取得

y = sheet.nrows

#y回まで処理(yにもヘッダーがあるようならy = y - 1という感じで加減)

for i in range (0,y):
 A=sheet.cell_value(a,2)
 B=sheet.cell_value(a,3)
 C=int ( sheet.cell_value(a,4) )

 #seleniumの処理を書く(例)

 driver.find_element_by_id("hoge").send_keys (A)

 driver.find_element_by_id("hoge2").send_keys (B)

 driver.find_element_by_id("hoge3").send_keys (C)

こんな感じで幸せになった。