Day2day Opportunism

まぁ、平たく言うと「雑記」がだらだらと・・・

SeleniumBasic を利用して VB.NET からサイトへアクセスしてみる

以前にVBAでやったことをVB.NETでもやってみようということです。忘れるので_φ(・_・

記事書くつもりはなかったので、導入とか画像ないんですけどね。

 

 

VS起動して、「新しいプロジェクトの作成」が開くはずなので…

「コンソールアプリ」の「VisualBasic」を選択する(画像だと2番目

きっと、Main()に「Hello World!」を表示するものが初期であるはず。
で、まずはメニュー>表示>その他のウィンドウ>パッケージマネージャー コンソール を選択する

プロンプト(PM>)とあるところに下記を順に入力して
 install-package selenium.webdriver
 install-package selenium.support
 
それぞれ「XXXがYYYに正常にインストールされました
のメッセージが表示されることを確認する(XXXはそれぞれパッケージ名と付録、YYYは、今のプロジェクト名)

次、ソリューションエクスプローラーのプロジェクト右クリック>追加>既存の項目 と選択して「chromedriver.exe」を追加する
(ただ、これはほんとに必要なのかは未検証。)

ソリューションエクスプローラーのソースファイル(Program.vbのはず)の上に「chromedriver.exe」が追加表示されたはず
それを選択して、プロパティの「出力ディレクトリにコピー」を「常にコピーする」とする
 
次、参照の追加かな
 Imports System の下に下記を追記
 Imports OpenQA.Selenium
 Imports OpenQA.Selenium.Chrome
 Imports OpenQA.Selenium.Support.UI
 

ここまででエラーが出たら笑えないので、一度実行してみる…
コンソールが開いて「Hello World!」が表示されたら、やっと下準備が終了
 
面倒なので元のコードは残したままで、進める。
 
「Console.WriteLine(Hello World!)」の下に下記を追記
 

Dim drv As New ChromeDriver(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location))
With drv
.Url = "https://www.google.com/"
Console.WriteLine("Hello Selenium!")
.Quit()
End With
あとは実行してうまくいけば、ブラウザーに「Google」が表示され…

ましたが、なんか色々出てますね?
軽くググってもうまくHitしないので、Pythonの例を見ると場所を指定してやれとかを見つけたんですが、
option の指定方法が置換出来ない(ChromeOption云々とかあるんだが…)
 
ま、基本 New の時に指定できるのではと、括弧を足したら候補が出たので(IDEは便利だね)下記のように修正
 Dim drv As New ChromeDriver(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location))

 ※Imports の定義を増やせば良かったかもしれんが、出来れば良いので。
 
再度実行する

問題なし