sele_chan

一般事務員です。SeleniumVBAを使ったWEBスクレイピングにより、Excelデータを業務システムに自動登録できるようになりました。SeleniumVBAは、ExcelVBAしか使えない会社の環境では重宝しています。記事では苦労話が多いですが、運用の参考になれば幸いです。

sele_chan

一般事務員です。SeleniumVBAを使ったWEBスクレイピングにより、Excelデータを業務システムに自動登録できるようになりました。SeleniumVBAは、ExcelVBAしか使えない会社の環境では重宝しています。記事では苦労話が多いですが、運用の参考になれば幸いです。

最近の記事

  • 固定された記事

[SeleniumVBA]テーブルの行と列の情報からセルの位置を特定する

1 はじめにWEBスクレイピングをしていて、ExcelのVlookup関数のように、テーブルの行と列の情報からテーブル内のセルの位置を特定してクリックしたいと思うことはないでしょうか?私は頻繁にそう思いました。 インストール不要でありながら高機能なSeleniumVBAでは、ExcelVBAを利用して、テーブルの情報を二次元配列に格納することができますので、これを利用したいと思います。 2 やりたいこと事例として、競馬ラボ様の競馬データベースをお借りしまして、まずコード

    • [SeleniumVBA]よく使っているXpathの活用事例について

      はじめにインストール不要でありながら高機能なSeleniumVBAを使用すれば、ExcelVBAで要素検索する際にもXpathをフル活用できます。 Xpathは業務システムで要素検索がうまく特定できないときに、大いに活用させてもらいました。感謝を込めて、よく使う事例を厳選してフィードバックさせていただきたいと思います。 Xpathの記法について(1)「//」 と「/」、「.」と「..」について 「//」は基点からすべての下位要素、「/」基点の直下の要素を表します。 「

      • [SeleniumVBA]要素が見つからず困った場合の助け舟

        はじめにインストール不要でありながら高機能なSeleniumVBAを使用すれば、要素が見つからない場合でもあきらめる必要はありません。 WEBスクレイピングを行うにあたって、自分自身困った経験を活かし、同様に困っている方を救う一助となれれば、と以下のとおり解決策となるExcelVBAコードを掲載しました。 【推奨】エラートラップの設定 エラー発生時の対応を行いやすくするため、VBEの「ツール」「オプション」「全般」のエラートラップの設定は、下記のとおりとすることを強力

        • [SeleniumVBA]メンテを考えたプログラムとデータの分離について一案

          はじめにインストールが不要でありながら高機能なSeleniumVBAを利用して、Excelに入力したデータを業務システムに自動登録できるよう開発しています。 ただし、作成したExcelVBAにバグがあったり、業務システム側でWEBページの構成要素に変更があったりする場合もあるので、常にプログラムの更新があることを念頭に入れなければなりません。 当初の運用当初は、SeleniumVBA.xlamを参照設定し、入力用Excelファイル側の標準モジュールに独自に実装したプログ

        • 固定された記事

        [SeleniumVBA]テーブルの行と列の情報からセルの位置を特定する

          [SeleniumVBA]業務システムでよく利用する要素検索について

          インストールが不要でありながら高機能なSeleniumVBAを利用して、Excelに入力したデータを業務システムに自動登録できるよう開発しています。 使っていくうちに、高頻度で使用する要素検索が分かってきましたので、備忘録も兼ねて以下にExcelVBAコードを記載しています。 1 セレクトボックスの選択第1位は以下のコードでセレクトボックスの選択に利用しています。 Dim elmfound as WebElementWith driver .IsPresent(By

          [SeleniumVBA]業務システムでよく利用する要素検索について

          [SeleniumVBA]非同期処理(Ajax with jQuery)の完了を待機する一案

          はじめにインストール不要なSeleniumVBAでは、ExcelVBAを使ってやりたいことがほぼできる機能が備わっています。 「ほぼ」と書いたのは、SeleniumVBAだけの問題ではなくSelenium全体の問題なのですが、非同期処理への対応が難しいことが挙げられるのではないかと思っています。 困ったこと現在(2024年10月現在)でも、jQueryを用いてAjax(非同期処理)を利用しているWEBサイトはまだまだ多いと思います。 そういったWEBサイトでAjaxが仕

          [SeleniumVBA]非同期処理(Ajax with jQuery)の完了を待機する一案

          [SeleniumVBA] WebDriverの自動更新の不具合を解決する一案

          ご報告(2024/11/13 更新)当社の環境において、これまでセキュリティソフト「i-FiILTER」によりWebDriverのダウンロードがブロックされていました。しかし現在はブロックされずにダウンロードができるようになっていました。 ブロックが解除された理由が、ソフト側がファイルの安全性を確認できたからなのか、会社側が制限を解除したからなのか不明ですが、WebDriverの自動更新機能が正常に働くようになりました。 これにより、クラスモジュール「WebDriverM

          [SeleniumVBA] WebDriverの自動更新の不具合を解決する一案