|
初歩的なことですが"kekka"のフレーム内のリンク数を知りたいです。 print IE.Document.frames("kekka").Document.links.length でエラーとなります。 どこが間違っているのでしょうか。
ソースは以下の通りです。 <frameset rows="150,*"> <frame name="kensaku" src="yasoukensaku2.html"> <frame name="kekka" > </frameset>
|
No.71 2014/09/02(Tue) 21:25:56
|
☆ Re: フレーム内のリンク数を調べたいです / しゅん |
|
|
ちょっと未確認で申し訳ないですが、あっていると思いますよ。 ポイントは ・「print IE.Document.frames("kekka").Document.links」等「.」区切りで減らしていって、どこまで減らすとエラーにならず数字が出るか ・ロードが終わってからアクセスしているか ・frames("kekka")で「kekka」のフレームがつかめているか といったところになります。
いずれにしても、情報がこれだけでは再現のしようがないため、もう少し具体的に書いてもらえると、回答が得られる、、、かもしれませんよ!
|
No.80 2014/09/04(Thu) 23:39:00
|
|
☆ Re: フレーム内のリンク数を調べたいです / リキュール |
|
|
しゅん 様
お世話になります。 frames("kekka")で「kekka」のフレームがつかめていないようです。 以下を実行した結果、下のフレーム?のリンクを取得したかったです。 当方が勘違いをしている部分があると思います。 よろしくお願いいたします。
Public IE IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE.Navigate("http://matsue-hana.com/yasoukensaku.html") BusyWait() IESetData(IE,"イガホオズキ","text1") // TEXT IESetData(IE,True,"","検索") // BUTTON BusyWait()
|
No.85 2014/09/05(Fri) 13:27:46
|
|
☆ Re: フレーム内のリンク数を調べたいです / なま |
|
No.87 2014/09/05(Fri) 18:50:28
|
|
☆ Re: フレーム内のリンク数を調べたいです / リキュール |
|
|
なま 様
お世話になります。 >IE11であれば。 >http://www.uwsc.info/faq.html#n45 RecIE で作成しているため以下が最後の方に記載されています。 初心者クラスなのでこの意味も理解できません。
DEF_DLL SendMessageA(Hwnd, Long, Long, Dword): bool: user32 CONST WM_ACTIVATE = $06 public Pub_url, Pub_docc, Pub_BeforNav_cnt, Pub_DocComp_cnt, Pub_inp_flg Procedure BusyWait() // 更新待ち処理 Sleep(0.3) tm = GetTime() repeat Sleep(0.2) ・・・・・・
・・・・・・ Sleep(0.2) until ! Pub_inp_flg Pub_url=""; Pub_docc=""; Pub_BeforNav_cnt=0; Pub_DocComp_cnt=0 SendMessageA(IE.Hwnd, WM_ACTIVATE, 0, 0) Fend
|
No.88 2014/09/05(Fri) 23:22:09
|
|
☆ Re: フレーム内のリンク数を調べたいです / しゅん |
|
|
、、、猛烈に嫌な作りのサイトですね、、、。 内部で生成したHTML文字列をFrameに書いているので、別ドメイン扱いとなって取得できないようです。たぶん。 http://matsue-hana.com/yasoukensaku2.html にアクセスすると、検索対象の全データがjavascriptとして落ちてくるので、 a. それで満足する b. javascript を ScriptControlに渡して解析する といったところが考えられます。 bをやろうかとも思ったのですが、別ドメインっぽいと判定するのに時間をだいぶ使ってしまったので、個人的にパスです。すみません。
|
No.95 2014/09/06(Sat) 22:24:39
|
|
☆ Re: フレーム内のリンク数を調べたいです / umiumi |
|
|
print IE.Document.frames.item["kekka"].Document.links.length
古いバージョンのIEなら .frames["kekka"]. の形で通りますが、今は.frames.item["kekka"].の形でないとダメになったと思う。
|
No.97 2014/09/06(Sat) 23:32:02
|
|
☆ Re: フレーム内のリンク数を調べたいです / リキュール |
|
|
umiumi さん
お世話になります。 >print IE.Document.frames.item["kekka"].Document.links.length でリンクの数が取得できました。 リンク名も取得でき、対応するURLを見つけてリンクのページに行くことが出来ました。 ありがとうございました。
|
No.98 2014/09/07(Sun) 00:12:22
|
|
☆ Re: フレーム内のリンク数を調べたいです / なま |
|
No.104 2014/09/07(Sun) 18:52:50
|
|