そうなのかNuGet使えるのね?
アホな自分に情けなく
1
VSでコンソールアプリケーションのプロジェクトを新規作成する
NuGetから各種パッケージを取得
Selenium.Support
Selenium.WebDriver
Selenium.WebDriver.ChromeDriver
Selenium.WebDriver.IEDriver
WebDriver.GeckoDriver 3
各ブラウザーのウェブドライバーを作成するクラスを作成
2
NuGetから各種パッケージを取得
packages.config
googleにアクセスしてSelenium2と検索する部分の作成
WebDriver.cs
internal class WebDriverFactory
{
public static IWebDriver CreateInstance(AppSettings.BrowserName browserName)
{
switch (browserName)
{
case AppSettings.BrowserName.None:
throw new ArgumentException(string.Format(“Not Definition. BrowserName:{0}”, browserName));
case AppSettings.BrowserName.Chrome:
return new ChromeDriver();
case AppSettings.BrowserName.Firefox:
FirefoxDriverService driverService = FirefoxDriverService.CreateDefaultService();
driverService.FirefoxBinaryPath = @”C:\Program Files (x86)\Mozilla Firefox\firefox.exe”;
driverService.HideCommandPromptWindow = true;
driverService.SuppressInitialDiagnosticInformation = true;
return new FirefoxDriver(driverService);
case AppSettings.BrowserName.InternetExplorer:
return new InternetExplorerDriver();
case AppSettings.BrowserName.Edge:
return new EdgeDriver();
case AppSettings.BrowserName.Safari:
return new SafariDriver();
default:
throw new ArgumentException(string.Format(“Not Definition. BrowserName:{0}”, browserName));
}
}
}
AppSettings.cs
internal static class AppSettings
{
public enum BrowserName
{
None,
Chrome,
Firefox,
InternetExplorer,
Edge,
Safari
}
}
4
googleにアクセスしてSelenium2と検索する部分の作成
Program.cs
internal class Program
{
private static void Main(string[] args)
{
// AppSettings.BrowserName.Firefoxを変更することによって対象のブラウザを変更できます
using (IWebDriver webDriver = WebDriverFactory.CreateInstance(AppSettings.BrowserName.Chrome))
{
// https://www.google.co.jp に遷移させる
webDriver.Url = @”https://www.google.co.jp”;
// #lst-ibの要素を取得する
IWebElement element = webDriver.FindElement(By.CssSelector(“#lst-ib”));
// 上記取得した要素に対してテキストを入力してサブミット
element.SendKeys(“Selenium2”);
element.Submit();
// 一瞬で完了するため3秒スリープ
Thread.Sleep(TimeSpan.FromSeconds(3));
// ブラウザを閉じる
webDriver.Quit();
}
}
}