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

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

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

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

Q&A

解決済

1回答

1862閲覧

VBA ウェブスクレイピングでinputに入力ができません。

mobiru

総合スコア2

VBA

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

0グッド

0クリップ

投稿2021/11/01 03:05

前提・実現したいこと

下記のサイト(yahoo 路線情報)で「出発駅名」、「到着駅名」に駅名を入力しようと思っています。
https://transit.yahoo.co.jp/

発生している問題・エラーメッセージ

入力しても検索時に入力した駅名が消えてしまう。

該当のソースコード

VBA

1 2Set ie = CreateObject("InternetExplorer.Application") 3ie.navigate ("https://transit.yahoo.co.jp/") 4 5ie.document.getElementsByName("from")(0).Value = 出発駅名 6ie.document.getElementsByName("to")(0).Value = 到着駅名 7

試したこと

要素をクリックしてから入力を試しましたが、検索時に入力した駅名が消えてしまいました。

VBA

1ie.document.getElementsByClassName("placeholder")(0).Click 2ie.document.getElementsByName("from")(0).Value = 出発駅名 3 4ie.document.getElementsByClassName("placeholder")(1).Click 5ie.document.getElementsByName("to")(0).Value = 到着駅名

お忙しいところ恐縮ですが、ご教示いただければと思います。

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

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

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

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

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

guest

回答1

0

ベストアンサー

直接の回答ではなく別案の提案ですが、
やりたいことは、Yahooの乗換案内で、出発駅を到着駅を指定した検索結果を表示したいということですよね。
ならば、URLのクエリパラメータにそれを付加すればそのページが表示できます。

クエリパラメータとはURLの最後の?の後に、検索条件の値を付加できる機能のことです。

下記のコードで検索結果ページに移動できます。

vba

1 Dim 出発駅名 As String: 出発駅名 = WorksheetFunction.EncodeURL("東京") 2 Dim 到着駅名 As String: 到着駅名 = WorksheetFunction.EncodeURL("新大阪") 3 Dim url As String 4 url = "https://transit.yahoo.co.jp/search/result?&from=" & 出発駅名 & "&to=" & 到着駅名 5 ie.navigate url

URLに日本語を設定できないのでURLエンコードする必要がありますので、WorksheetFunction.EncodeURLでエンコードできます。

上記は出発駅と到着駅のみ指定していますが、他にも細かく指定できます。
下記のページで紹介していますので、ご参考に。

「Yahoo路線情報」のクエリーパラメータを解析してみる - pslaboが試したことの記録

投稿2021/11/01 04:25

hatena19

総合スコア33878

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

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

mobiru

2021/11/02 01:38

詳しくご回答頂きありがとうございました。 先日まで前記の形で使用出来ていたのですが、サイト構造が変わって使用できなくなって困っておりました。 クエリパラメータで検索する形で実装し直しました。助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.43%

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

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

質問する

関連した質問