File size: 3,403 Bytes
550d985 c809540 74397af 550d985 c809540 550d985 9c20147 550d985 c809540 550d985 c809540 550d985 c809540 550d985 c809540 74397af 550d985 c809540 550d985 |
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
#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):
font_col=font_col.strip("#")
back_col=back_col.strip("#")
html = html.replace("\n","<br>")
#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="""<h1>This is the title</h1>
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="#000000")
back_col=gr.ColorPicker(label="Background Color",value="#ffffff")
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() |