好きなおでんの具材ドラフト会議しましょう

VBAのIE操作でframe構造のサイト画面をscrollする方法をご教示お願い致します。
下記の方法では左側frameのみがscrollされます。右側frameのscroll方法をご教示下さい。

1.対象サイト画面
 https://www.amazon.co.jp/dp/B01MSZREJL/ref=olp-o …

2.scroll方法(左側frameのみがscroll)
pageHeight = ObjIE.document.body.scrollheight
ObjIE.document.Script.setTimeout "javascript:scrollTo(0," & pageHeight & ");", 1000

A 回答 (1件)

こんばんは



>右側frameのscroll方法をご教示下さい。
「右側」って、各商品が並んでいるところですよね?
それってframeではなく、div要素ではないでしょうか??
更に、その部分は(多分)ajax等で後から読み込んでいるようなので、document.ready直後では操作できない可能性が高いです。
(ご提示のコードでは1秒待っているようですが、それで足りるのかどうか・・・)

ひとまず、VBAのmsgboxで表示を確認後に実行するようにしてみましたが、VBAから直接だと、なぜか「scrollToメソッドがない」と跳ねられます。
なので、scrollTopに切り替えてみると、一応、以下で動作は確認できました。

MsgBox "OK"
Set div = objIE.document.getElementById("all-offers-display-scroller")
div.ScrollTop = 600

※ とりあえず、600px 決め打ちでのスクロールにしてありますが、ご参考までに。

なお、ご質問には直接関係がありませんけれど、IEはそろそろ終わるので、Selenium等に切り替えた方がよさそうな気がしますけれど・・・
    • good
    • 0
この回答へのお礼

迅速なご回答有難うございます。
この様な解決方法を初めて知りました。
問題解決に至り感謝に堪えません。
重ねて御礼申し上げます。

お礼日時:2021/09/19 07:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報