Selenium WebDriverの準備

インストール方法

ここでは、使用言語→VB/C#、操作ブラウザ→Chrome、にする場合の設定について説明します。
Seleniumのサイトにも詳しいインストール方法が記載されています。)

Excel VBAでSeleniumを使う場合は、インストール方法(Excel VBA)のページを見てください。

VisualStudioでChromeのドライバーをインストールする方法

VisualStudioのNuGetからパッケージをインストールするのが簡単です。
「Selenium.WebDriver」「Selenium.WebDriver.ChromeDriver」をインストールします。
Selenium WebDriver インストール

ブラウザの起動

以下のコードを実行すればChromeが起動します。

								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
								
										Dim driver As New ChromeDriver()
								
									End Sub
								
								End Class
						
							using OpenQA.Selenium;
							using OpenQA.Selenium.Chrome;
							
							public class Form1
							{
								private void Button1_Click(object sender, EventArgs e)
								{
									var driver = new ChromeDriver();
								}
							}
						
Selenium Chrome表示
※ChromeDriverのバージョンよりChromeブラウザのバージョンが古ければ、実行時に例外が発生します。
 その時はChromeを最新にするか、ドライバーのバージョンを下げてください。

参考
Open and close a browser with Selenium

操作サンプルコード

以下のコードで一通りの操作を行えます。
詳しくはSeleniumのサイトを参照してください。

						Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
						
							'Chromeブラウザを表示
							Dim driver As New ChromeDriver()
				
							'Googleのサイトを表示
							driver.Navigate().GoToUrl("https://www.google.com")
				
							'サイトのTitleを取得
							Console.WriteLine(driver.Title) '' => "Google"
				
							'要素が見つかるまで待機
							driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(500)
				
							'要素を検索して取得
							Dim searchBox = driver.FindElement(By.Name("q"))
							Dim searchButton = driver.FindElement(By.Name("btnK"))
				
							'テキストの入力
							searchBox.SendKeys("Selenium")
							
							'ボタンのクリック
							searchButton.Click()
				
							'要素の値の参照
							Console.WriteLine(driver.FindElement(By.Name("q")).GetAttribute("value")) '' => "Selenium"
				
							'ブラウザを終了
							driver.Quit()

						End Sub
					
						private void button2_Click(object sender, EventArgs e)
						{
							//Chromeブラウザを表示
							var driver = new ChromeDriver();
				
							//Googleのサイトを表示
							driver.Navigate().GoToUrl("https://www.google.com");
				
							//サイトのTitleを取得
							Console.WriteLine(driver.Title); // => "Google"
				
							//要素が見つかるまで待機
							driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(500);
				
							//要素を検索して取得
							var searchBox = driver.FindElement(By.Name("q"));
							var searchButton = driver.FindElement(By.Name("btnK"));
				
							//テキストの入力
							searchBox.SendKeys("Selenium");
							
							//ボタンのクリック
							searchButton.Click();
				
							//要素の値の参照
							Console.WriteLine(driver.FindElement(By.Name("q")).GetAttribute("value")); // => "Selenium"
				
							//ブラウザを終了
							driver.Quit();
						}				
					
						from selenium import webdriver
						from selenium.webdriver.common.by import By
						
						#Chromeブラウザを表示(ドライバーのPATHを設定済とする)
						driver = webdriver.Chrome()
						
						#Googleのサイトを表示
						driver.get("https://www.google.com")
						
						#サイトのTitleを取得
						print(driver.title)
						
						#要素が見つかるまで待機(明示的な待機)
						driver.implicitly_wait(0.5)
						
						#要素を検索して取得
						searchBox = driver.find_element(By.NAME, "q")
						searchButton = driver.find_element(By.NAME, "btnK")
						 
						#テキストの入力
						searchBox.send_keys("Selenium")
							 
						#ボタンのクリック
						searchButton.click()
						 
						#要素の値の参照
						print(driver.find_element(By.NAME, "q").get_attribute("value")) # => "Selenium"
						 
						#ブラウザを終了
						driver.quit()