Selenium+xlrdでエクセルファイルを読み込んでブラウザテストする方法
エクセルファイルを読み込んでテストをしたい。
Python初心者の自分がxlrdを悪戦苦闘しながらも何とか使えるまでのコードを書く。
Seleniumとは何かは割愛。
さてxlrdはpipでインストールできる。
pip install xlrd
扱い方で非常に参考になったサイト
#ファイル読み込み
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)
こんな感じで幸せになった。