ループ処理である画像を見つけたい。無ければ更新→ページ内を再度探す。 削除
Message#3 2016年10月20日(木)11時57分 From: j7505 |
お返事ありがとうございます。 実際、試しましたが、一回の処理で終わり、 ページの更新→もう一度ループ処理で画像検索にはなりませんでした。 他にあれば、教えて頂けませんか? お願い致します。 ジャッカルのメッセージ(#2)への返事 > 単純にif文使うとか > > if instr(obIE.document.body.outerHTML,"<img")> 0 then > 画像抽出処理 > else > refresh処理 > end if > > > > IE制御初心者で間違いがあるかも知れませんが、教えて下さい。 > > サンプル文など調べましたが、なかなか無く、どうしようもなく投稿させて頂きました。良ければ教えて下さい。 > > お願いします。 > > > > 1.あるオンラインショッピングサイトに行く。 > > > > 2.その指定urlのページに進み、そこで画像を探し出す。 > > <1>もし、img画像が見つかれば抽出してループ抜け出し実行を続ける。 > > <2>それ以外は、ページrefreshさせて、再度画像を探し出す。 > > ループ繰り返す > > > > 3.2でループ抜け出して、以降実行を続ける。 > > > > 以下が作成中のものです。 > > > > > > Sub vba() > > Dim obIEAs Object > > Dim Obj As Object > > > > Set obIE = CreateObject("InternetExplorer.Application") > > obIE.Visible = True > > obIE.navigate "http://www.supremenewyork.com/shop/all/accessories" > > > > sleep 500 > > > > Do While obIE.readyState <> 4 > > Do While obIE.Busy = True > > DoEvents > > Loop > > Loop > > > > 'ここからループさせたいです。"XBm-E-zXvcA"のimgで探すのですがない場合は、ページ更新して再度同じimgを探す。このような事をしたいと考えてます。Do until文、while文試したり、サンプル文探しましたが、見つからず、教えて頂けませんか。 > > > > > > For Each Obj In obIE.document.getElementsByTagName("img") > > If InStr(Obj.outerHTML, "XBm-E-zXvcA") > 0 Then > > Obj.Click > > > > Exit For > > End If > > Next > > > > 解決方法をご教示いただければ幸いです。 |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。