- ベストアンサー
javascriptでログイン画面のURLを取得できない理由と解決方法
- javascriptで作られたIDとpasswordでログイン後の画面で、LocationURLでURLを取得できない理由とは?どうやって解決する?
- VB初心者がjavascriptで作られたログイン画面のURLを取得する方法はあるのか?activeXやプロパティを使ってURLを取得する方法を解説。
- WebページのURLをLocationURLで取得できない場合、javascriptの仕様によるものかもしれない。このような場合、VBやactiveXのプロパティやメソッドを使用することでURLを取得する方法がある。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。KenKen_SP です。 情報不足で現状がさっぱりわかりません。情報を出し惜しみしていては回答 はもらい難いですよ。 > javascriptで作られているようなのですが、実際このように隠すことが > できるのでしょうか。 > https://aaa.bbb.ccc.jp/?と最上部のアドレスが表示されるのみ 単純にフレームページなのだと思います。この場合ブラウザにはフレームを 切っている...HTML タグで言えば、FRAMESET が書かれたページの URL しか 表示されません。 現在どのような方法で LocationURL を取っているのか知りませんが、IE オブジェクトを使っていると仮定し、VB で書けばこんな感じでフレーム毎 の URL や HTMLソースなんかは取得できます。 同じくフレームページの MSDN をサンプルにしてます。このページは 3つ の Document で構成されてます。 ...エラー処理は皆無なのできちんと作ってません。(;´・ω・`)σ 間違いがあったり、意図の読み違いだった場合はスルーして下さい。では。 Sub Sample() Dim IE As Object Dim n As Long Dim i As Long Dim Url As String Const READYSTATE_COMPLETE = 4 Url = "http://msdn.microsoft.com/library/ja/" Set IE = CreateObject("InternetExplorer.Application") With IE .Visible = True .Navigate Url While .Busy Or .ReadyState <> READYSTATE_COMPLETE Wend n = IE.Document.frames.Length Debug.Print "【 Frames Count 】 " & CStr(n) For i = 0 To n - 1 With IE.Document.frames(i).Document Debug.Print "--------------------------------" Debug.Print "【 Document URL 】 " & .Url Debug.Print "--------------------------------" Debug.Print "【 Document Source 】" Debug.Print .documentElement.outerHTML End With Next End With End Sub
お礼
ご回答ありがとうございます。ご指摘のとおり、フレームページでした。documentElement.outerHTMLでアドレスの残りの部分が得られました。