Selenium VBA の フォーマッター
少しずつ使って見ている SeleniumVBA
SeleniumをVBAで使えるものなのですが、知名度が低く
Excelからだとまだまだ、 IEをCOM経由で使うケースの方が多いですね。
が、IEは誰しもが知っている通り癖があるので、個人的にはこちらでFFをコントロールする方が良いと思う訳です。
スクリプト自体は SeleniumIDEで記録しておきvbaもしくはvbs用にエクスポートすれば
ベースとなるスクリプトが生成できるのでハードルも低いと思います。
で、どの言語用にエクスポートする際も同様なのですが RC用 と WebDriver用が選択できます。
RC用
def test_selerc(self): sel = self.selenium sel.open("/") sel.type("id=sfrom", u"東京") sel.type("id=sto", u"大阪") sel.type("id=svia", u"長野") sel.click("id=fer") sel.click("id=bus") sel.click("id=hbus") sel.click("id=air") sel.click("id=exp") sel.select("id=ym", u"label=2013年08月") sel.click("css=input[type=\"image\"]") sel.wait_for_page_to_load("30000")
WebDriver用
def test_selewd(self): driver = self.driver driver.get(self.base_url + "/") driver.find_element_by_id("sfrom").clear() driver.find_element_by_id("sfrom").send_keys("東京") driver.find_element_by_id("sto").clear() driver.find_element_by_id("sto").send_keys("大阪") driver.find_element_by_id("svia").clear() driver.find_element_by_id("svia").send_keys("長野") driver.find_element_by_id("fer").click() driver.find_element_by_id("bus").click() driver.find_element_by_id("hbus").click() driver.find_element_by_id("air").click() driver.find_element_by_id("exp").click() # ERROR: Caught exception [ReferenceError: selectLocator is not defined] driver.find_element_by_css_selector("input[type=\"image\"]").click()
よく見るとわかりますが、selectorコントロール部分は WebDriver版はエラーになってます。
例では python2版を表示していますが、vba版でも同様のエラーがでます。
なのでWebDriver版を使う方は手動で直す必要があります。