Chromeで動作させる
Chromeをインストールする
Nugetからインストール
Install-Package Selenium.WebDriver
Install-Package Selenium.WebDriver.ChromeDriver
using System;
using System.IO;
using System.Reflection;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var chrome = new ChromeDriver(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
chrome.Url = "http://google.com/";
//特定のURLを開いて待機する
Console.ReadKey();
chrome.Quit();
}
}
}
Chrominumで動作させる
Chromeをアンインストールする
Chrominumをインストールする
ChromeDriverをインストールする
ChromeをアンインストールしないとChrominumが立ち上がらないです。
Nugetからインストール
Install-Package Selenium.WebDriver
Install-Package Selenium.WebDriver.ChromeDriver
Chrominumとドライバをインストールする
$ sudo apt-get update
$ sudo apt-get install chromium-browser
$ sudo apt-get install chromium-chromedriver
$ chromium-browser --version
$ chromedriver --version
# 日本語フォントをインストールする
$ sudo apt-get install fonts-ipafont-gothic fonts-ipafont-mincho
参考
chromedriverのインストールされた場所を調べる
$ which chromium-browser
$ which chromedriver
chromedriverは/usr/bin/chromedriverにインストールされます。
C# ChromeDriver関数にパスを指定する。ここでは「/usr/bin/」を指定する
var driver = new ChromeDriver("/usr/bin/");
using System;
using System.IO;
using System.Reflection;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
namespace SeleniumConsoleApp
{
class Program
{
static void _mkFireFox()
{
IWebDriver driver =new FirefoxDriver(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
driver.Navigate().GoToUrl("https://www.google.com/?hl=ja");
//特定のURLを開いて待機する
Console.ReadKey();
driver.Quit();
}
static void _mkChromnimu()
{
var driver = new ChromeDriver("/usr/bin/");
driver.Navigate().GoToUrl("https://www.google.com/?hl=ja");
//特定のURLを開いて待機する
Console.ReadKey();
driver.Quit();
}
static void Main(string[] args)
{
_mkFireFox();
_mkChromnimu();
}
}
}
FireFoxで動作させる
FireFoxをインストールする
GeckoDriverをNugetからインストールする
Nugetからインストール
Install-Package Selenium.WebDriver
Install-Package Selenium.WebDriver.GeckoDriver
上記のプログラムで動作します。
ユーザープロファイルの保存指定する
引数
内容
–user-data-dir
ユーザープロファイルの保存先を指定
–profile-directory
使用するユーザープロファイルを指定
引数を指定しない場合
–user-data-dirを指定しない場合
プロファイルは一時ファイルとして作成され、Chrome終了後に廃棄されます。
–profile-directoryを指定しない場合
ユーザープロファイルは–user-data-dirで指定したフォルダ内のデフォルトのプロファイル(通常はDefault)を使用します。
指定したフォルダが存在しない場合
–user-data-dir、–profile-directoryに指定したフォルダが存在しない場合は、自動でフォルダが作成されます(Windows環境でのみ確認)ので、タイプミスに注意しましょう。
using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace example
{
class Program
{
static void Main(string[] args)
{
ChromeOptions options = new ChromeOptions();
options.AddArgument("--user-data-dir=D:\\tmp\\User Data");
options.AddArgument("--profile-directory=Profile1");
options.AddArgument("--lang=en");
String path = @"D:\tmp\driver\chromedriver_win32"; //フォルダを指定
IWebDriver driver = new ChromeDriver(path, options);
driver.Navigate().GoToUrl("chrome://version");
Console.ReadKey();
driver.Quit();
}
}
}
参考
続く
↧