Selenium(セレニウム)とは?
セレニウムとは、C#などのプログラム言語でブラウザ(Cromeなど)を自動操縦する際に使用します。
WEBシステムなどを作った際にテストを人間がちまちまやるよりも、そのテスト自体を自動化させた方が効率が良いです。
その為、WEBサイトのテストなどで使われる事が多いです。
(人様のサイトに悪い事しちゃだめよん♪)
あとは、スクレイピング(WEBサイトのデータを取得すること)などにも便利です。
C#からIEの自動操縦をするだけでもスクレイピングは勿論する事が出来ますが、如何せんMicrosoftの作ったIEです。
品質が悪いです。いろいろとInternet Explorerはダメなんですが一番我慢ならないのはページのロードが遅いという事です。
一回当たりの秒数が少なくても、IEみたくページのロードに時間がいちいち割かれる様だとトータルで時間の浪費になります。
そこでスクレイピングをする場合には、Seleniumを使ってCromeを操作する事をおすすめします。
Visual Studio 2017 + C#のプロジェクトでSeleniumuを使う為に行った作業を自分用にまとめておきます。
あと、Seleniumは最近私も始めた程度なのでそこまで詳しくありません。詳しい人はコメント欄などでTips的に色々と押してくれると嬉しいです。
VS2017でSeleniumを使える様にした手順
まず、最初にプロジェクトの参照の上で右クリック > NuGet パッケージの管理(N)をクリックします。
というウィンドウが出てきます。
NuGet
と入力して検索します。
すると
NuGet.Core 作成者:Outercurve Foundation,
というのが出てきます。
これを選択し右側のインストールをクリックします。
変更のプレビュー
Visual Studio はこのソリューションに変更を加えようとしています。[OK]をクリックすると、以下に一覧表示された変更が適用されます。
インストール中
Microsoft.Web.Xdt.2.1.1
NuGet.Core.2.14.0
今後これを表示しないにチェックを入れてOKボタンを押します。
ライセンスへの同意
以下のパッケージをインストールするには、ライセンス条項に同意する必要があります。
という画面がでたら「同意する」をクリックします。
続いて同じ要領で
web driver
で検索して
Selenium.WebDriver
Selenium.Chrome.WebDriver
Selenium.WebDriver.ChromeDriver
もインストールします。
ここまでインストールして初めて
using OpenQA.Selenium.Chrome;
をソースコードの中に記述してもエラーがVS上に出なくなります。
using 参照でエラーになる人は試してみてください。
ネットでセレニウムの使い方を解説しているサイトを調べてみるとコンソール(Console)アプリケーションでC#+Seleniumの設定方法をまとめているサイトが多かったです。
個人的には、Windows フォームアプリケーションでUIがあった方が管理が楽でいいと思います。
これでガリガリC#+Seleniumのコードをかけます。
頑張りましょう!