Selenium(Edge/Chrome)

Edge/Chromeでパスワードボックスへ入力する【SendKeys】【Selenium】【ExcelVBA】

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でのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。

コメント

タイトルとURLをコピーしました