import gradio as gr from selenium import webdriver from selenium.common.exceptions import WebDriverException from selenium.webdriver.common.by import By from gradio_client import Client from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.chrome.options import Options import groq import os import time options = webdriver.ChromeOptions() options.add_argument('--headless') wd = webdriver.Chrome(options=options) #get your api-key @groq.com. its free! api_key = os.getenv('groq') client = groq.Client(api_key=api_key) # Use Llama 3 70B powered by Groq for answering def update(prompt, ort): try: completion = client.chat.completions.create( model="llama3-70b-8192", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": f"gefragt sind die nächsten 3 zugverbindungen von bad kissingen nach {ort} du findest die antwort im kontext. liefere als antwort ein 2 spaltige tabelle. linke spalte: abfahrtszeit, fahrtdauer, ankunftszeit.rechte spalte: abfahrtsort,leer,zielort. formatiere die tabelle in markdown\n kontext: \n {prompt} \n antworte immer auf deutsch!"} ], ) return completion.choices[0].message.content except Exception as e: return f"Error in response generation: {str(e)}" def selenium(message): url = "https://chatgpt.com/" #url = 'https://www.spiegel.de' #
    wd.get(url) wd.implicitly_wait(3) textarea = wd.find_element(By.XPATH, "/html/body/div[1]/div[2]/main/div[1]/div[1]/div/div[2]/div/div/div/div[4]/form/div/div/div/div/div[1]/div[1]/div/textarea") time.sleep(3) textarea.send_keys(f"{message}") time.sleep(3) textarea.send_keys(Keys.RETURN) time.sleep(3) antwort = element = wd.find_element(By.TAG_NAME, "p") time.sleep(3) return element.text texts="" url = f"https://www.google.com/search?q=zugverbindung+bad+kissingen+{message}" #url = 'https://www.spiegel.de' #
      wd.get(url) wd.implicitly_wait(3) element = wd.find_element(By.TAG_NAME, "body") #wd.quit() time.sleep(3) #return element.text results = update(element.text, message) results=gr.Markdown() return results # Füge Text in die Textarea ein textarea.send_keys("Hier ist der Text, den du einfügen möchtest.") iface = gr.Interface( fn=selenium, inputs="text", outputs="text", #title="perplexity.ai", #description="Websuche" ) iface.launch()