WebDriverとWebDriverBacked、Remote Controllの違い
自動でWebを操作するためにSeleniumを触り始めました。(使う言語はJavaにしました。)
で、どうやらSeleniumIDEで操作を記録して、記録したものをエクスポートすると簡単に自動操作スクリプトを作れそう!というわけで自分で自動化したい操作をして記録し、エクスポートを選択。
そうしたら選択肢が大きく3つ。
WebDriverとWebDriver Backed、Remote Control
一体何が違うんだ。。。
とりあえず全部エクスポートしてみた
違いが分からないのでとりあえず3種類エクスポートしてみた。
その結果、要素の指定方法と用意される関数が違うっぽい。
要素の指定方法
WebDriverはこんな感じ
driver.findElement(By.id("password")).clear();
driver.findElement(By.id("password")).sendKeys("password");
WebDriver BackedとRemote Controlはこんな感じ
selenium.type("id=password", "password");
WebDriverはJSのような形式、
WebDriver BackedとRemote Controlはselenium独自の形式で要素を指定、操作していますね。
用意される関数
WebDriverのみisElementPresent(By by)、isAlertPresent()、closeAlertAndGetItsText()という関数が用意されていました。今回エクスポートされたコードではこれらの関数を使っていませんでしたが。詳しくは自分でエクスポートしたコードを見ると良いと思います。
結論
seleniumが初めてならただのWebDriver、
旧形式のseleniumを使ったことがあるのなら WebDriver BackedかRemote Controlで良さそうですね。
WebDriver BackedとRemote Controlの違いは、おそらく今まで触ったことのある人なら分かるのでしょう。私はselenium初めてなのでWebDriver形式でエクスポートします。
※selenium触り始めたばかりなので誤りがあったらごめんなさい。