ググると、Seleniumでスクロールする方法を探している記事がたくさんあった。
私もインスタグラムに投稿したが、他の記事の流入のために別途記事として書いておく。
さらに必要なスクロール方法があれば、追加してみる。
一般的にSeleniumでのスクロールはJavaScriptを使って実装する。
1. 目的の高さYまでスクロール
driver.execute_script("window.scrollTo(0, Y)")2. ドキュメントの終わりまで1回スクロール
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")3. ドキュメントの一番終わりまでスクロール
SCROLL_PAUSE_TIME = 0.5
# 現在のスクロールの高さを取得
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
# 下までスクロール
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# ページの読み込みを待つ
time.sleep(SCROLL_PAUSE_TIME)
# 新しいスクロールの高さを計算して前の高さと比較
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == last_height:
break
last_height = new_height4. Page Downキーを利用したスクロール
driver.find_element(By.XPATH, '/html/body').send_keys(Keys.PAGE_DOWN)5. 目的の要素が中央に来るようにスクロール
driver.execute_script("arguments[0].scrollIntoView({block : 'center'});", 目的の要素)6. 追加することがあれば
希望するスクロール方式があればコメントで教えてください。
一度実装してみます。
댓글을 불러오는 중...