【Excel×VBA】VBAを使ったChrome自動操作の実践編① IDを指定してデータ取得・ボタンクリック編

Googlechromeを自動で起動させ、指定したWebサイトの
①Id属性を指定してエクセルのセルに取得
②Id属性を指定してボタンをクリック
③Id属性がない場合にSelectorを指定してテキストボックスに書き込む
SeleniumBasicを使ってGoogleChromeを自動操作する準備編
• 【Excel×VBA】GoogleChrom...
実際に指定したURLで起動
Dim 変数 As new selenium.Chromedriver
変数.start "chrome"
変数.get "開きたいURL"
変数.close
※SeleniumBasicのインストール先
github.com/florentbr/Selenium...
※ChromeDriverの更新
chromedriver.chromium.org/dow...
※使用したサンプルサイト
zatsjyouji.github.io/youtubes...
■Twitterアカウント
/ simple_program
■本のリンク 初心者向け最初の一歩編
www.amazon.co.jp/dp/B0B2NGKR2...
■本のリンク WebBrowser編
→www.amazon.co.jp/dp/B0B18JRJL...
不明点や、ご意見・ご要望等御座いましたら、気軽にコメント頂ければ幸いです
#VBA
#Excel
#マクロ

Пікірлер: 21

  • @kn7784
    @kn778410 ай бұрын

    ドロップダウンからの選択方法が知りたいです。

  • @Simple_Program

    @Simple_Program

    9 ай бұрын

    近いうちにselenium basic編をまとめて動画にしますね。もう少々お待ちください。

  • @mintlover8527
    @mintlover85272 жыл бұрын

    すばらしいです。しかも分かりやすいです! 質問させてください、登録先のサイトの入力箇所や登録ボタンが、別ウィンドウの場合も方法は同じでしょうか?

  • @Simple_Program

    @Simple_Program

    2 жыл бұрын

    返答が遅れて申し訳ないです。 「Chromeの別ウインドウが開いてそこを操作する」という認識で宜しいですか? サンプルサイトのコードを変更して 今から説明動画作成してアップしますので少々お待ちくださいませ。 ご質問も有難う御座います。

  • @mintlover8527

    @mintlover8527

    2 жыл бұрын

    @@Simple_Program お返事ありがとうございます!いいのですか! もう少し詳しくご説明しますと、 登録先のサイトは、コンソール画面のような感じでして追加ボタンを押すと、小さな入力用のウィンドウが表示され、そこにメンバーの名前と、アドレスを入力して、登録作業をしたいというのがゴールとなります。 その対象のメンバーはExcelにデータベースとして登録してあるものを、サイトに反映させたいです。

  • @Simple_Program

    @Simple_Program

    2 жыл бұрын

    @@mintlover8527 一旦Chromeのウインドウの切り替えはこちらで作成。 kzread.info/dash/bejne/dmql3Jprp8jIh6g.html ありゃ、私の認識違いかもです。。 つまりサイトとして別ウインドウで開くのではなく、別の窓としてChrome以外で開くということでしょうか?

  • @mintlover8527

    @mintlover8527

    2 жыл бұрын

    @@Simple_Program お返事がおくれてすいません そうですね、よくコンソール画面等で目にするポップアップウィンドウが表示され、そこにリソースを登録していきます。 そのウィンドウの要素を取得して入力したいです。

  • @mintlover8527

    @mintlover8527

    2 жыл бұрын

    @@Simple_Program  お返事おそくなりまして、申し訳ございません。また、説明が分かりにくくすいません そうですね、別タブではなく、Pop-up windowとして表示された画面に、userのリソースを入力して、 登録作業をしたいという要望になります。

  • @user-ev2tg5ew8o
    @user-ev2tg5ew8o Жыл бұрын

    とてもわかりやすく参考にさせていただいています。 Adobeのweb版でpdfをアップロードしてexcelに変換するということをしようとしているのですが、pdf→excelの他にいくつも変換があり、それぞれのclassなりが全て同じでどうして良いかわからない状況です。Id は入力しても見つかりませんとなってしまい、途方に暮れています。 こういう場合にはどうしたら良いのでしょうか。

  • @Simple_Program

    @Simple_Program

    Жыл бұрын

    要素をセレクターで取得でも不可でしょうか? 出先で録音ができないので動きだけですが kzread.info/dash/bejne/iGpny8yyhtWYY9I.html 指定したい要素をSelectorをコピー→FindElementByCssに入れる。もし差し支えなければ該当のWebページのURLを教えていただければ拝見させて頂きます。Twitter側でも結構です。

  • @user-ev2tg5ew8o

    @user-ev2tg5ew8o

    Жыл бұрын

    @@Simple_Program 返信ありがとうございます! セレクターもやってみましたが、ダメでした。 AdobeでLoginした先にあるページなんですが、それでもURLお教えした方が良いでしょうか?

  • @e1q09037
    @e1q090372 жыл бұрын

    コメント失礼します。 findelementしたい要素がshadowroot内にある場合はどう取得すればよいでしょうか??

  • @Simple_Program

    @Simple_Program

    2 жыл бұрын

    コメント有難う御座います。こちらでどうでしょうか? shadowroot内の要素を取得 → kzread.info/dash/bejne/Z6ios9OPpMeXh5s.html shadowrootのWebページを簡単に作りテストしたので 仕組みが違う場合は教えて頂ければありがたいです。

  • @e1q09037

    @e1q09037

    2 жыл бұрын

    @@Simple_Program お忙し中ご返信ありがとうございます!!確認させていただきます。結果についてはまた報告いたします。

  • @user-vw1og9xw5t
    @user-vw1og9xw5t2 жыл бұрын

    Excel以外で出来るソフトありますか?

  • @Simple_Program

    @Simple_Program

    2 жыл бұрын

    python等色々ありますよ。 個人的にはこちらのいまにゅーさんの説明がわかりやすいです。 kzread.info/dash/bejne/mGx6ureOgZfbgqQ.html

  • @ksano8880
    @ksano8880 Жыл бұрын

    非常に分かりやすいです! 2点教えてください。 driver.FindElementById driver.FindElementsByName driver.FindElementsByClass driver.FindElementByCss と言ったように操作したい箇所を選択する方法は複数ありますが、優先的にこれを使った方がいいなどありますでしょうか。 また、ウェブサイトがリニューアルされたらVBAが動かなくなる可能性もあると思うのですが回避策はありますでしょうか?

  • @Simple_Program

    @Simple_Program

    Жыл бұрын

    あくまで個人的にですが、idを優先的に使用してます。HTML上に原則一つしかなく変更される事が1番少ない為。CSSはページの階層が変わると影響を受けやすいので、余り使用しないようにしてます。 リニューアルして内部が変わるとどうしようもないです。。あくまで要素内のidやnameなどを探して抽出しているので。

  • @ksano8880

    @ksano8880

    Жыл бұрын

    @@Simple_Program ありがとうございます!IDがあるものはIDで作りました!

Келесі