#from __future__ import annotations from selenium import webdriver #from typing import Iterable 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): 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={style}&txt={html}" driver = webdriver.Chrome(options=options) driver.get(url) #html=driver.page_source driver.implicitly_wait(30) driver.set_window_size(1920, 1080) 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="""background:cornflowerblue;height:300;width:500;""" with gr.Blocks() as app: with gr.Row(): inp = gr.Textbox(lines=8,max_lines=50,value=html) style = gr.Textbox(lines=8,max_lines=50,value=sty) 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],[outim,outp,cook,html]) app.launch()