質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

2回答

15428閲覧

ログインボタンをクリックしたいがname属性やid属性が無いためその場合のコードが解りません

退会済みユーザー

退会済みユーザー

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/09/20 07:09

編集2018/09/24 15:41

https://www.jwnetweb.jp/wusr/inlogin.html

上記サイトのログインボタンをクリックするマクロを組もうとしていますが
ログインボタンの名前が解りません。コードは下記を使用しようとしています。

objIE.document.all.※※※.Click   ※=ログインボタンの名前

ご教示いただける方 宜しくお願いします。

=====================================================
※9/25追記 
下記コードでは新規タブとして開いてしまい、サイト側でエラーになり開けませんでした。

Dim htmlDoc As HTMLDocument 'HTMLドキュメントオブジェクトを準備
Set htmlDoc = objIE.document 'objIEで読み込まれているHTMLドキュメントをセット

htmlDoc.getElementsByName("username")(0).Value = strUsername 'name="username"にユーザー名を入力
htmlDoc.getElementsByName("password")(0).Value = strPassword 'name="password"にパスワードを入力

htmlDoc.forms(0).submit

End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ブラウザで「ソースを表示」とかブラウザ開発ツールのエレメント選択で確認できるのではないでしょうか。

投稿2018/09/20 07:38

m.ts10806

総合スコア80842

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/09/24 15:09

回答ありがとうございます。 下記のhasue様の仰る通り、nameやidが解らないということです。 内容が足らず申し訳ありませんでした。
m.ts10806

2018/09/24 15:11

質問は編集できるので何もなしに回答依頼を出すのではなく、きちんと要件や試したことを具体的に記載してください。 エスパー待ちでは問題は解決に進みません。
m.ts10806

2018/09/24 15:16

低評価の理由が知りたいですね。 「ログインボタンの名前の確認の仕方」としては間違ってはいないと思いますが。 質問者さんが作ったサイトかどうかは記載がないのであまり積極的に確認しようとは思えませんし。
退会済みユーザー

退会済みユーザー

2018/09/24 15:30

申し訳ありません。初心者でして色んなサイトに載ってる方法を試しながらやっています。 現在、ボタンをクリックさせようとしていて、サイトで見つかる方法がほとんど"name="や"id="と出てきます。ログインしたサイトでは"name"も"id"もないのでどうすればいいか解らない状態です。 下記hasue様のform取得してsubmitをするというのは試しましたが、サイト側で新規タブでは開けませんとエラーが出てしまいます。
退会済みユーザー

退会済みユーザー

2018/09/24 15:31

それと、低評価については存じ上げません。質問者しか押せないのなら誤って押した可能性があります・・・。
m.ts10806

2018/09/24 21:12

低評価については押した人に向けてなので大丈夫です。誰が押したか分からないですが、登録ユーザーであれば誰でも押せますしね。紛らわしいコメント失礼しました。 確かに基本的にはnameやidは指定しますが、ただ送信するために置く場合、そのボタンで何かしらイベント操作しない場合には何もつけません。 何もつけなくてもデフォルトはtypeはsubmitなのでフォーム送信の役割は果たしますしね。 その場合はxpathで取得したりbytagnameで指定してelementを特定します。 そこは既に出ている回答の通りですね。
guest

0

ボタンにはname属性やid属性なども指定されていないので
やるのであれば、getByTagNameなどでbuttonを取得しましょう。

ただ、自動ログインのマクロを組みたいということであれば
下記のような形でformを取得してsubmitしてもいいのではないでしょうか?

js

1document.getElementsByTagName("form")[0].submit()

投稿2018/09/20 07:24

hasue

総合スコア155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/09/24 15:35

回答ありがとうございます。 後者のsubmitですが”htmlDoc.forms(0).submit”で走らせるとサイト側で新規タブは開けませんと出てしまいます。 前者のbutton取得のコードを教えていただけないでしょうか? 現在のログインコードは下記で留まっています。 Dim htmlDoc As HTMLDocument 'HTMLドキュメントオブジェクトを準備 Set htmlDoc = objIE.document 'objIEで読み込まれているHTMLドキュメントをセット htmlDoc.getElementsByName("username")(0).Value = strUsername 'name="username"にユーザー名を入力 htmlDoc.getElementsByName("password")(0).Value = strPassword 'name="password"にパスワードを入力 End Sub 宜しくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問