Connect to Headless with Python Function Stack
In this section you will find the required scripts to connect to headless using the Python function stack with a browser automation library of your preference:
Puppeteer
Using Puppeteer Without SmartBrowz
copyimport asyncio from pyppeteer import launch async def main(): browser = await launch() page = await browser.newPage() await page.goto('http://example.com') await page.screenshot({'path': 'example.png'}) await browser.close() asyncio.get_event_loop().run_until_complete(main())
Using Puppeteer With SmartBrowz
copyimport asyncio import pyppeteer async def main(): # Replace puppeteer.launch with pyppeteer.launcher.connect browser = await pyppeteer.launcher.connect( browserWSEndpoint='YOUR_CDP_ENDPOINT' ) # The rest of your code remains the same page = await browser.newPage() await page.goto("https://example.com") await page.screenshot(path="screenshot.png") await browser.close() asyncio.get_event_loop().run_until_complete(main())
Note: Copy the CDP Endpoint from the console and paste it in line "6" when you implement this code.
Playwright
Using Playwright Without SmartBrowz
copyfrom playwright.sync_api import sync_playwright def run(playwright): chrome = playwright.chrome browser = chrome.launch() page = browser.new_page() page.goto("https://example.com") browser.close() with sync_playwright() as playwright: run(playwright)
Using Playwright With SmartBrowz
copyimport asyncio from playwright.async_api import async_playwright async def run(playwright): # Replace playwright.chromium.launch with connect_over_cdp browser = playwright.chromium.connect_over_cdp("YOUR_CDP_ENDPOINT") # The rest of the code remians the same context = await browser.new_context() page = await context.new_page() await page.goto("https://example.com") await page.screenshot(path="screenshot.png") await browser.close() async def main(): async with async_playwright() as playwright: await run(playwright) asyncio.run(main())
Note: Copy the CDP Endpoint from the console and paste it in line "5" when you implement this code.
Selenium
Using Selenium Without SmartBrowz
copyfrom selenium import webdriver from PIL import Image driver = webdriver.Chrome(executable_path = "path\\to\\chromedriver.exe") url = "https://example.com/" driver.get(url) driver.save_screenshot(‘ss.png’) screenshot = Image.open(‘ss.png’) driver.close()
Using Selenium With SmartBrowz
copyimport asyncio from selenium import webdriver from selenium.webdriver.chrome.options import Options async def index(): options = Options() options.add_argument("--disable-extensions") options.add_argument("--no-sandbox") options.add_argument('--headless') options.add_argument('--disable-dev-shm-usage') # Change webdriver.Chrome with webdriver.Remote driver = webdriver.Remote( command_executor='YOUR_WEBDRIVER_ENDPOINT', options=options ) #The rest of your code remains the same driver.get("https://example.com") driver.save_screenshot("screenshot.png") driver.close() async def my_async_function(): await index() # call my_async_function asyncio.run(my_async_function())
Note: Copy the Webdriver Endpoint from the console and paste it in line "13" when you implement this code.
Last Updated 2023-05-08 11:50:17 +0530 +0530
Yes
No
Send your feedback to us
Skip
Submit