Seleniumの使い方 - 基本操作

インスタンスの作成

使用するブラウザによって参照するdll・名前空間・クラスは異なりますが、似たような定義方法です。

ブラウザのオブジェクトを格納する変数は、どのブラウザでも対応できるようにインタフェースで定義しましょう。
あとは各ブラウザ用のクラスでインスタンスを作成しましょう。
以下は、Formにボタンを3つ貼り付け、それぞれのブラウザのインスタンスを作成するサンプルです。

						Imports OpenQA.Selenium
						Imports OpenQA.Selenium.IE
						Imports OpenQA.Selenium.Chrome
						Imports OpenQA.Selenium.Firefox
						
						Public Class Form1
						
							Private _browser As IWebDriver
						
							'IE
							Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
						
								_browser = New IE.InternetExplorerDriver()
						
							End Sub
						
							'Chrome
							Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
						
								_browser = New ChromeDriver()
						
							End Sub
						
							'Firefox
							Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
						
								_browser = New FirefoxDriver()
						
							End Sub
						
						End Class
					
						using OpenQA.Selenium;
						using OpenQA.Selenium.IE;
						using OpenQA.Selenium.Chrome;
						using OpenQA.Selenium.Firefox;
						
						public class Form1
						{
							private IWebDriver _browser;
						
							// IE
							private void Button1_Click(object sender, EventArgs e)
							{
								_browser = new IE.InternetExplorerDriver();
							}
						
							// Chrome
							private void Button2_Click(object sender, EventArgs e)
							{
								_browser = new ChromeDriver();
							}
						
							// Firefox
							private void Button3_Click(object sender, EventArgs e)
							{
								_browser = new FirefoxDriver();
							}
						}
						
					

また、各DriverはIDisposableインタフェースを備えていますので、usingも使えます。
usingが終了のタイミングで、ブラウザも自動で終了します。

						'IE
						Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
						
							Using browser As New IE.InternetExplorerDriver()

								'ここにIE操作処理を記載
			
							End Using

						End Sub
					
						// IE
						private void Button1_Click(object sender, EventArgs e)
						{
							using (IE.InternetExplorerDriver browser = new IE.InternetExplorerDriver())
							{
								//ここにIE操作処理を記載
							}
						}
						
					

URLの表示

以下の方法があります。

Urlプロパティへの設定

						_browser.Url = "https://www.yahoo.co.jp"
					
						_browser.Url = "https://www.yahoo.co.jp";
					

GoToUrlメソッド

						_browser.Navigate().GoToUrl("https://www.yahoo.co.jp")
					
						_browser.Navigate().GoToUrl("https://www.yahoo.co.jp");
					

戻る/進む/更新

						_browser.Navigate().Back()
						_browser.Navigate().Forward()
						_browser.Navigate().Refresh()
					
						_browser.Navigate().Back();
						_browser.Navigate().Forward();
						_browser.Navigate().Refresh();
					

タイトル/URLの取得/ソースコードの取得

現在表示しているサイトのタイトルとURLを取得します。

						MsgBox(_browser.Title)    'タイトルを表示する
						MsgBox(_browser.Url)      'URLを表示する
						MsgBox(_browser.PageSource)  'ソースを表示する
					
						MessageBox.Show(_browser.Title);    //タイトルを表示する
						MessageBox.Show(_browser.Url);      //URLを表示する
						MessageBox.Show(_browser.PageSource);  //ソースを表示する
					

終了処理

プログラムで作成したウィンドウを閉じる場合、「Close」メソッドを使用します。(手で作成したタブはそのまま残る)
プログラムで作成したウィンドウを閉じる(手で作成したタブも含む)場合、「Quit」メソッドを使用します。

						_browser.Close
						_browser.Quit
					
						_browser.Close();
						_browser.Quit();