フレームが3つあるwebページの処理について
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2014年12月17日(水)23時48分 From: 初新太郎 | 返事 削除 変更 |
結論から言うと、このソースだと、フレーム経由でのタグへのアクセスはできません。frameタグのsrc属性を見ていただけると分かるかと思いますが、フレームソースが、通常のHTML言語ではありません。jspという、サーバーが動的にHTMLページを生成するコードです。 動的なページ生成をするページでは、オブジェクトのタグ内容まで更新されていないようで、細かなタグにアクセスしても、存在しないことになってしまいます。従って、フレーム経由でドキュメントを取得しても、inputタグの内容が更新できない状態になってしまうのです。 フレーム単体で処理が行なえるのであれば、 ・frameタグを取得 ・src属性を抽出 ・Navigateでページ移動 ・「ie.document.body.OuterHTML」によってbodyタグを取得 ・htmlタグを追加 ・「ie.document.write()」でページに書き込み ・タグにアクセス という裏技が可能ですが、フレーム全てを表示させるのが前提では、自動制御は不可能ということになります。 |
Message#1 2014年12月17日(水)23時46分 From: ikarisinto | 返事 削除 変更 |
エクセルvbaのIE制御について質問です。 フレームが3つあるwebページの処理についていです。 Header Menu Body と3つのフレームがあって、Menuフレームの操作はできるのですが、Bodyのフレームに移動すると、フレームはつかめているようですが、中のテキストボックスがつかめません。 実行時エラー'91': オブジェクト変数または With ブロック変数が設定されて いません。 となります。隠しフレームなんて存在することはあるのでしょうか(実はBodyフレームではないなど)?テキストボックスに見えて、実はテキストボックスではない。ということはありますでしょうか? |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降