#from __future__ import annotations from selenium import webdriver import gradio as gr import re from PIL import Image from io import BytesIO from selenium.common.exceptions import WebDriverException from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By #from selenium_webdriver import WebElement driver_type = 'chromedriver' driver=False def run_script(html: str, style: str,font_col,back_col): html = html.replace("\n","
") #regex = r"^(https?://)" #is_url = re.search(regex, text) is_url=True if is_url: options = webdriver.ChromeOptions() options.add_argument('--headless') options.add_argument('--no-sandbox') options.add_argument('--disable-dev-shm-usage') try: url = f"https://omnibus-txt2img-static.static.hf.space/index.html?format=color:{font_col};background-color:{back_col};{style}&txt={html}" driver = webdriver.Chrome(options=options) driver.get(url) #html=driver.page_source driver.implicitly_wait(30) driver.set_window_size(1920, 4096) obj = driver.find_element(By.NAME, "in_card") #obj = driver.find_element_by_id("in_html") ###################### #inp = driver.find_element("id","input") ''' find_element(By.ID, "id") find_element(By.NAME, "name") find_element(By.XPATH, "xpath") find_element(By.LINK_TEXT, "link text") find_element(By.PARTIAL_LINK_TEXT, "partial link text") find_element(By.TAG_NAME, "tag name") find_element(By.CLASS_NAME, "class name") find_element(By.CSS_SELECTOR, "css selector") ''' #inp.send_keys("test") ###################### cookie_jar = [] #cookie_jar.append(driver.get_cookies()) #print(cookie_jar) screenshot = obj.screenshot('tmp.png') #screenshot = obj.get_screenshot_as_png() except WebDriverException as e: return [Image.new('RGB', (1, 1)), e, None,None] finally: if driver: driver.quit() #return [Image.open(BytesIO(screenshot)), 'operation success.',cookie_jar,html] return [Image.open('tmp.png'), 'operation success.',url,html] else: return [None, 'Please enter a valid URL of a website/host.',None,None] html="""

This is the title

This is some information bla bla • a bullet • or two """ sty="""height:500;width:1000;""" with gr.Blocks() as app: with gr.Row(): inp = gr.Textbox(label="HTML",lines=8,max_lines=50,value=html) with gr.Column(): style = gr.Textbox(label="CSS",lines=8,max_lines=50,value=sty) with gr.Row(): font_col=gr.ColorPicker("Font Color",value="Black") back_col=gr.ColorPicker(label="Background Color",value="White") btn= gr.Button() with gr.Row(): with gr.Column(): outim = gr.Image() with gr.Column(): outp = gr.HTML() cook = gr.Textbox() html=gr.Textbox() btn.click(run_script,[inp,style,font_col,back_col],[outim,outp,cook,html]) app.launch()