Seleniumの使い方
Seleniumについて
Seleniumはオープンソースのフレームワークです。
Webアプリケーションの動作テストの自動化を目的として作成されたものですが、
自動操作としても使うことができます。
アプリケーション開発で使用することで、ブラウザの操作プログラムを簡単に作成することができます。
入手方法
Seleniumのサイトよりダウンロードします。
「Selenium Client & WebDriver Language Bindings」の場所から、使用する言語のプログラムをダウンロードしてください。
ここではC#をダウンロードします。VB.NETの場合もこれをダウンロードします。
「selenium-dotnet-x.x.x.zip」がダウンロードされます。
次に、操作するブラウザのプログラム(Driver)をダウンロードします。
InternetExplorerの場合は「The Internet Explorer Driver Server」からダウンロードします。
お使いのCPUにあわせて32bit版か64bit版を選びます。
「IEDriverServer_x64_x.x.x.zip」か「IEDriverServer_x32_x.x.x.zip」がダウンロードされます。
InternetExplorer以外のブラウザを操作する場合は、対応するプログラム(Driver)を「Third Party Drivers, Bindings, and Plugins」からダウンロードします。
Chromeを操作する場合は「Google Chrome Driver」の「latest」のリンクをクリックし、開かれたGoogleのサイトをたどってダウンロードします。
「chromedriver_win32.zip」がダウンロードされます。ファイル名が"wind32"となっていますが、64bit版のChromeもこれで操作できます。
FireFoxを操作する場合は「Mozilla GeckoDriver」の「latest」のリンクをクリックし、開かれたMozillaのサイトをたどってダウンロードします。
「geckodriver-vx.x.x-win32.zip」「geckodriver-vx.x.x-win64.zip」がダウンロードされます。
プログラムへの組み込み
ダウンロードした「selenium-dotnet-x.x.x.zip」を解凍すると、「dist」フォルダ内に
「Selenium.WebDriver.x.x.x.nupkg」がありますので、拡張子を"zip"に変更して再度解凍します。
解凍後の「lib」フォルダに.NETのバージョンごとにフォルダが作成されています。
開発で使用する.NETのバージョンのフォルダにある「WebDriver.dll」を使用します。
VisualStudioの参照設定で「WebDriver.dll」を追加します。
これ以降は操作するブラウザによって必要なファイルが異なります。
プログラムへの組み込み(IEの場合)
「IEDriverServer_x64_x.x.x.zip」または「IEDriverServer_x32_x.x.x.zip」を解凍後に作成される「IEDriverServer.exe」を、
プログラムのexeと一緒のフォルダに格納します。
以下、WindowsFormアプリケーションでのコードサンプルです。
Formにボタンを貼り付けて、以下コードを書いてください。
ボタンをクリックするとブラウザ(InternetExplorer)が立ち上がり、Yahooのサイトが表示されます。
Imports OpenQA.Selenium Imports OpenQA.Selenium.IE Public Class Form1 Private _browser As IWebDriver Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click _browser = New IE.InternetExplorerDriver() _browser.Url = "https://www.yahoo.co.jp" End Sub End Class
using OpenQA.Selenium; using OpenQA.Selenium.IE; public class Form1 { private IWebDriver _browser; private void Button1_Click(object sender, EventArgs e) { _browser = new IE.InternetExplorerDriver(); _browser.Url = "https://www.yahoo.co.jp"; } }
プログラムへの組み込み(Chromeの場合)
「chromedriver_win32.zip」を解凍後に作成される「chromedriver.exe」を、
プログラムのexeと一緒のフォルダに格納します。
以下、WindowsFormアプリケーションでのコードサンプルです。
Formにボタンを貼り付けて、以下コードを書いてください。
ボタンをクリックするとブラウザ(Chrome)が立ち上がり、Yahooのサイトが表示されます。
Imports OpenQA.Selenium Imports OpenQA.Selenium.Chrome Public Class Form1 Private _browser As IWebDriver Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click _browser = New ChromeDriver() _browser.Url = "https://www.yahoo.co.jp" End Sub End Class
using OpenQA.Selenium; using OpenQA.Selenium.Chrome; public class Form1 { private IWebDriver _browser; private void Button1_Click(object sender, EventArgs e) { _browser = new ChromeDriver(); _browser.Url = "https://www.yahoo.co.jp"; } }
プログラムへの組み込み(FireFoxの場合)
「geckodriver-vx.x.x-win64.zip」または「geckodriver-vx.x.x-win32.zip」を解凍後に作成される「geckodriver.exe」を、
プログラムのexeと一緒のフォルダに格納します。
以下、WindowsFormアプリケーションでのコードサンプルです。
Formにボタンを貼り付けて、以下コードを書いてください。
ボタンをクリックするとブラウザ(FireFox)が立ち上がり、Yahooのサイトが表示されます。
Imports OpenQA.Selenium Imports OpenQA.Selenium.Firefox Public Class Form1 Private _browser As IWebDriver Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click _browser = New FirefoxDriver() _browser.Url = "https://www.yahoo.co.jp" End Sub End Class
using OpenQA.Selenium; using OpenQA.Selenium.Firefox; public class Form1 { private IWebDriver _browser; private void Button1_Click(object sender, EventArgs e) { _browser = new FirefoxDriver(); _browser.Url = "https://www.yahoo.co.jp"; } }