ループ処理である画像を見つけたい。無ければ更新→ページ内を再度探す。
未読分:4件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#4 2016年11月29日(火)16時59分 From: ジャッカル | 返事 削除 変更 |
j7505のメッセージ(#3)への返事 ループさせるならforかfor eachでループ処理できるから そいつで一度まわしてみるとか。 > お返事ありがとうございます。 > 実際、試しましたが、一回の処理で終わり、 > ページの更新→もう一度ループ処理で画像検索にはなりませんでした。 > 他にあれば、教えて頂けませんか? > お願い致します。 > > > > > > ジャッカルのメッセージ(#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 > > > > > > 解決方法をご教示いただければ幸いです。 |
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 > > > > 解決方法をご教示いただければ幸いです。 |
Message#2 2016年10月19日(水)18時15分 From: ジャッカル | 返事 削除 変更 |
単純に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 > > 解決方法をご教示いただければ幸いです。 |
Message#1 2016年10月19日(水)10時39分 From: j7505 | 返事 削除 変更 |
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 解決方法をご教示いただければ幸いです。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降