メモ書きとして残しておきます。
スクレイピングをする時にはいつも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
更新モジュールが出ていたのでこれらを更新しました。