C#+Seleniumでスクレイピングする時の俺的メモ


メモ書きとして残しておきます。

スクレイピングをする時にはいつもIEをC#から自動操縦して取得していましたが、Seleniumを使った方がむっちゃ楽でおすすめです。

Selenium(セレニウム)と読みます。

Seleniumには、Google Crome/Firefox/IEとそれぞれの代表的なブラウザに対応したDriverが出ています。

Visual Studioを使用してSeleniumのパッケージをダウンロードする場合

メニュー > プロジェクト > NuGetパッケージの管理(N)

からSelenium系を見つけてインストールしておきましょう。

詳しくはググって他のサイトみてください。

XPathを簡単に調べる方法

Cromeを開いて調べたいツールの上で右クリック > 検証(I) > Copy > Copy XPath

これむっちゃ便利。

一瞬でスクレイピングしたい要素のXPathを取得できちゃいます。

初めて知ったけどむっちゃ便利でした。

Chromeのバージョンがあがるとエラーが発生する

2019/4/30 Cromeをいつも通りC#から操作しようとしたところエラーが発生しました。

エラーの内容はこちらです。

session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 10.0.17763 x86_64) (SessionNotCreated)

GoogleCromeのバージョンが74に上がった(手動で更新した)為に、Seleniumで使用するChromeDriverのバージョンを上げないと動作しない為に、このエラーが発生してしまっています。

GoogleCromeは原則として常に最新を使う事を推奨されています。

そこで私はChromeのバージョンをアップしました。

しかし、ChromeDriverが古くなり最新バージョン(74)に対応していない為に、今回のエラーが発生したという事です。

ChromeDiverのエラーでやったこと

メニュー > プロジェクト > 更新プログラム

Microsoft.Web.Xdt

Selenium.Chrome.WebDriver 

Selenium.WebDriver.ChromeDriver

更新モジュールが出ていたのでこれらを更新しました。

 

更新:2020/12/01

Google Chromeは月に1回以上更新が入ります。

それに合わせてChromeDriverも更新を都度行っていく必要があり

ます。

プロジェクトの上で右クリック > NuGet パッケージの管理

CHROMEと入力します。

ここで最新ドライバーが出ている場合には、それを選択しインストールを行います。

更新したモジュール

Selenium.WebDriver.ChromeDriver  作成者:jsakamoto, 14.4M 件のダウンロード

このドライバは、14.4M

つまり約1400万件もダウンロードされている事がわかります。

ダウンロード件数が多い方が世界中の人がダウンロードしており、動作検証過程で揉まれている為安定しています。

Chromeドライバーの最新が出た場合には、ダウンロード件数が大きい物から優先的にダウンロードして使う様にすると良いです。

■他の人はこちらも見ています。■


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA