[Add] browser-use and main.py
This commit is contained in:
parent
08e64bdf45
commit
96914d44ac
221 changed files with 30952 additions and 1 deletions
69
browser-use/tests/test_attach_chrome.py
Normal file
69
browser-use/tests/test_attach_chrome.py
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
import asyncio
|
||||
|
||||
from playwright.async_api import async_playwright
|
||||
|
||||
|
||||
async def test_full_screen(start_fullscreen: bool, maximize: bool):
|
||||
async with async_playwright() as p:
|
||||
try:
|
||||
print('Attempting to connect to Chrome...')
|
||||
# run in terminal: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --no-first-run
|
||||
browser = await p.chromium.connect_over_cdp(
|
||||
'http://localhost:9222',
|
||||
timeout=20000, # 20 second timeout for connection
|
||||
)
|
||||
print('Connected to Chrome successfully')
|
||||
|
||||
# Get the first context and page, or create new ones if needed
|
||||
if len(browser.contexts) == 0:
|
||||
context = await browser.new_context(ignore_https_errors=True)
|
||||
else:
|
||||
context = browser.contexts[0]
|
||||
|
||||
if len(context.pages) == 0:
|
||||
page = await context.new_page()
|
||||
else:
|
||||
page = context.pages[0]
|
||||
|
||||
print('Attempting to navigate to Gmail...')
|
||||
try:
|
||||
# First try with a shorter timeout
|
||||
await page.goto(
|
||||
'https://mail.google.com',
|
||||
wait_until='load', # Changed from domcontentloaded
|
||||
timeout=10000,
|
||||
)
|
||||
except Exception as e:
|
||||
print(f'First navigation attempt failed: {e}')
|
||||
print('Trying again with different settings...')
|
||||
# If that fails, try again with different settings
|
||||
await page.goto(
|
||||
'https://mail.google.com',
|
||||
wait_until='commit', # Less strict wait condition
|
||||
timeout=30000,
|
||||
)
|
||||
|
||||
# Wait for the page to stabilize
|
||||
await asyncio.sleep(2)
|
||||
|
||||
print(f'Current page title: {await page.title()}')
|
||||
|
||||
# Optional: wait for specific Gmail elements
|
||||
try:
|
||||
await page.wait_for_selector('div[role="main"]', timeout=5000)
|
||||
print('Gmail interface detected')
|
||||
except Exception as e:
|
||||
print(f'Note: Gmail interface not detected: {e}')
|
||||
|
||||
await asyncio.sleep(30)
|
||||
except Exception as e:
|
||||
print(f'An error occurred: {e}')
|
||||
import traceback
|
||||
|
||||
traceback.print_exc()
|
||||
finally:
|
||||
await browser.close()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
asyncio.run(test_full_screen(False, False))
|
||||
Loading…
Add table
Add a link
Reference in a new issue