File size: 1,114 Bytes
7d36ab6 728d8c4 7d36ab6 8d72a25 7d36ab6 3289878 ba95aba |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
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() |