Team Ai
Apppublic

NewUserID/Web-Renderer

sourceHugging Faceupdated 3y agoView on Hugging Face
1likes
app.py45 linesDownload Raw Back to root
1import os2import random3import gradio as gr4from selenium import webdriver5from selenium_stealth import stealth6from selenium.webdriver.chrome.options import Options7 8def main(url):9    chrome_options = webdriver.ChromeOptions()10    chrome_options.add_argument('--headless')11    chrome_options.add_argument('--no-sandbox')12    chrome_options.add_argument("start-maximized")13    chrome_options.add_argument('--disable-dev-shm-usage') 14    chrome_options.add_experimental_option('useAutomationExtension', False)15    chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])16    17    driver = webdriver.Chrome(options=chrome_options)18    19    stealth(20        driver, 21        languages=["en-US", "en"], 22        vendor="Google Inc.", 23        platform="Win32", 24        webgl_vendor="Intel Inc.", 25        renderer="Intel Iris OpenGL Engine", 26        fix_hairline=True27    )28    29    if("https://" in url.lower() or "http://" in url.lower()):30        driver.get(url)31    else:32        driver.get("http://" + url)33        34    page_width = driver.execute_script("return document.body.scrollWidth")35    page_height = driver.execute_script("return document.body.scrollHeight")36    37    driver.set_window_size(page_width, page_height)38    39    filename = str(random.randint(111111111, 999999999)) + ".png"40    file_path = os.path.join(os.path.dirname(__file__), filename)41    driver.save_screenshot(file_path)42    return(file_path)43 44iface = gr.Interface(fn=main, inputs=gr.Textbox(label="URL"), outputs=[gr.Image(label="Render")])45iface.launch()