DeCorate / app.py
chohj06ms's picture
Update app.py
8d72a25 verified
raw
history blame contribute delete
No virus
1.11 kB
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import gradio as gr
def capture_webpage_screenshot(url):
save_path = "screenshot.png"
# ChromeDriver๋ฅผ ์ž๋™์œผ๋กœ ์„ค์น˜ํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
service = Service(ChromeDriverManager().install())
options = webdriver.ChromeOptions()
# ํ•„์š”ํ•œ ๊ฒฝ์šฐ, headless ๋ชจ๋“œ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
options.add_argument('--headless')
options.add_argument('--disable-gpu') # GPU ์‚ฌ์šฉ ๋น„ํ™œ์„ฑํ™”
options.add_argument('window-size=1200x600') # ์œˆ๋„์šฐ ํฌ๊ธฐ ์„ค์ •
# WebDriver ์ดˆ๊ธฐํ™”
driver = webdriver.Chrome(service=service, options=options)
# ์ฃผ์–ด์ง„ URL๋กœ ์ด๋™
driver.get(url)
# ์Šคํฌ๋ฆฐ์ƒท ์บก์ฒ˜ ๋ฐ ์ €์žฅ
driver.save_screenshot(save_path)
# WebDriver ์ข…๋ฃŒ
driver.quit()
return save_path
with gr.Blocks() as demo:
txt = gr.Textbox()
btn = gr.Button()
img = gr.Image()
btn.click(capture_webpage_screenshot, [txt], [img])
demo.launch()