Improve input handling in Grok.py

Refactor input selection and submission logic for better error handling and clarity.
This commit is contained in:
keacwu 2025-11-21 15:19:17 +08:00 committed by GitHub
parent 18fda760cb
commit 05c108d3f6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -92,12 +92,26 @@ class Grok(AsyncAuthedProvider, ProviderModelMixin):
while True:
if has_headers:
break
textarea = await page.select("textarea", 180)
await textarea.send_keys("Hello")
await asyncio.sleep(1)
button = await page.select("button[type='submit']")
if button:
await button.click()
input_element = None
try:
input_element = await page.select("div.ProseMirror", 2)
except Exception:
pass
if not input_element:
try:
input_element = await page.select("textarea", 180)
except Exception:
pass
if input_element:
try:
await input_element.click()
await input_element.send_keys("Hello")
await asyncio.sleep(0.5)
submit_btn = await page.select("button[type='submit']", 2)
if submit_btn:
await submit_btn.click()
except Exception:
pass
await asyncio.sleep(1)
auth_result.cookies = {}
for c in await page.send(nodriver.cdp.network.get_cookies([cls.url])):