Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -35,27 +35,30 @@ def render_fullpage_screenshot(html_code):
|
|
| 35 |
WebDriverWait(driver, 10).until(
|
| 36 |
EC.presence_of_element_located((By.TAG_NAME, "body"))
|
| 37 |
)
|
| 38 |
-
#
|
| 39 |
time.sleep(2)
|
| 40 |
|
| 41 |
-
#
|
| 42 |
-
driver.execute_script(
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
)
|
| 46 |
|
| 47 |
-
#
|
| 48 |
scroll_width = driver.execute_script("return document.body.scrollWidth")
|
| 49 |
scroll_height = driver.execute_script("return document.body.scrollHeight")
|
| 50 |
|
|
|
|
| 51 |
driver.set_window_size(scroll_width, scroll_height)
|
| 52 |
-
|
|
|
|
| 53 |
time.sleep(2)
|
| 54 |
|
| 55 |
-
#
|
| 56 |
png = driver.get_screenshot_as_png()
|
| 57 |
|
| 58 |
except Exception as e:
|
|
|
|
| 59 |
return Image.new('RGB', (1, 1), color=(0, 0, 0))
|
| 60 |
|
| 61 |
finally:
|
|
|
|
| 35 |
WebDriverWait(driver, 10).until(
|
| 36 |
EC.presence_of_element_located((By.TAG_NAME, "body"))
|
| 37 |
)
|
| 38 |
+
# フォントや外部リソース読み込みの安定化のため少し待機
|
| 39 |
time.sleep(2)
|
| 40 |
|
| 41 |
+
# スクロールバーを非表示にする(必要に応じてコメントアウト)
|
| 42 |
+
driver.execute_script("""
|
| 43 |
+
document.documentElement.style.overflow = 'hidden';
|
| 44 |
+
document.body.style.overflow = 'hidden';
|
| 45 |
+
""")
|
| 46 |
|
| 47 |
+
# ページ全体の幅・高さを取得
|
| 48 |
scroll_width = driver.execute_script("return document.body.scrollWidth")
|
| 49 |
scroll_height = driver.execute_script("return document.body.scrollHeight")
|
| 50 |
|
| 51 |
+
# ウィンドウサイズをページ全体の幅・高さに再設定
|
| 52 |
driver.set_window_size(scroll_width, scroll_height)
|
| 53 |
+
|
| 54 |
+
# レイアウト変化を待つ
|
| 55 |
time.sleep(2)
|
| 56 |
|
| 57 |
+
# ページ全体をスクリーンショット
|
| 58 |
png = driver.get_screenshot_as_png()
|
| 59 |
|
| 60 |
except Exception as e:
|
| 61 |
+
# 何らかのエラー時は1x1の黒画像を返す
|
| 62 |
return Image.new('RGB', (1, 1), color=(0, 0, 0))
|
| 63 |
|
| 64 |
finally:
|