VBAでSeleniumを起動し、Webページ内パスワードボックスへ値を反映する方法です。
パスワードボックスは基本的にはテキストボックスへの処理と同一です。下記記事も参考にしてください。
Edge/Chromeでテキストボックスへ入力する【SendKeys】
パスワードボックスに文字入力するサンプルコード
楽天証券のサイトを参考にログインの一連の流れも踏まえてコード作成しています。
Dim driver As New Selenium.WebDriver Public Sub sample() '■ブラウザを起動 driver.Start "chrome" 'Edgeの場合はdriver.start "edge" driver.Get "https://www.rakuten-sec.co.jp/ITS/V_ACT_Login.html" '■ユーザーID driver.FindElementsByClass("vact-login-form-02-field__input")(1).SendKeys "userID" '■ログインパスワード driver.FindElementsByClass("vact-login-form-02-field__input--pass")(1).SendKeys "password" '■ログインクリック driver.FindElementById("login-btn").Click End Sub
'■HTMLサンプル <input id="form-login-pass" type="password" name="passwd" value="" maxlength="20" tabindex="2" onfocus="chfocus('1')" class="vact-login-form-02-field__input vact-login-form-02-field__input--pass" autocomplete="on" style="width:100%;">
注意点
- VBAのSendKeysとSeleniumのSendKeysは別物です。(最前面になくてもキーは送られます。)
- ただし、画面上に見えていないとエラーになる場合もある為、ウィンドウ最大化推奨です。
- SeleniumのSendKeysはIE自動操作の際のValue = “test”のような代入のイメージです。
SeleniumBasicについて
Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。
但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。
コメント