- Overview
- Maintainer
- Use Cases
- Prerequisites
- Build and Run
- Environment Variables
- Dependencies
- Files
- Entrypoint
- Support
This Docker image is designed to run Selenium with Firefox on AWS Lambda. It is built on top of the AWS Lambda Python runtime and includes all necessary dependencies for running Selenium and Firefox. This image is suitable for both technical and non-technical users who wish to automate web browser tasks in a serverless environment.
- Email: [email protected]
- Version: 1.0
- Web Scraping: Automatically collect data from websites.
- Automated Testing: Run your Selenium-based test suites without needing a dedicated server.
- Data Entry Automation: Automate repetitive data entry tasks.
- Browser Automation: Perform any task you would manually do in a web browser, but automated.
- Docker installed on your machine. If you don't have it, download Docker here.
- Basic understanding of command-line operations.
docker build --platform linux/amd64 -t selenium-lambda .
docker run -it --rm -e AWS_LAMBDA_FUNCTION_TIMEOUT=300 -e AWS_LAMBDA_FUNCTION_MEMORY_SIZE=1024 -p 9000:8080 selenium-lambda:latest
Invoke-WebRequest -Uri "http://localhost:9000/2015-03-31/functions/function/invocations" -Method POST -Body '{"headless_mode": false, "needs_download_file": false, "clean_init": false, "script_name": null}'
OR
curl -X POST "http://localhost:9000/2015-03-31/functions/function/invocations" -d "{\"headless_mode\": false, \"needs_download_file\": false, \"clean_init\": false, \"script_name\": null}"
Variable || Description || Default Value
AWS_LAMBDA_FUNCTION_TIMEOUT
|| AWS Lambda function timeout || 300 (5 minutes)
AWS_LAMBDA_FUNCTION_MEMORY_SIZE
|| AWS Lambda function memory size || 1024 MB
SCREEN_WIDTH
|| Screen width for Selenium || 1920
SCREEN_HEIGHT
|| Screen height for Selenium || 1080
- Various Linux packages required for running Firefox and Selenium.
- Libraries for AWS, OpenAI, Excel manipulation, web requests, and more.
main.py
: The main Python script that AWS Lambda will execute.entrypoint.sh
: A shell script that sets up the environment before runningmain.py
.
The entry point for AWS Lambda is defined as main.handler
.
For any issues or questions, please contact the maintainer via email.
If you find this project helpful and would like to support its development, consider buying me a coffee or a toy for my children! You can send cryptocurrency to my Coinbase wallet using the following details:
- Bitcoin (BTC) - Bitcoin Network:
3KEyAyYAyBfXkciRhrejz6ZmXjigZ5GnLj
- Ethereum (ETH) - Ethereum Network:
0x842c95127163a3bc05a43215f0D85Fb4361Fd460
- USD Coin (USDC) - Polygon Network:
0xbFf4f280d008Be5D06Ec83B39A3E390e75FcEf94
- Brazilian Pix:
[email protected]
To send cryptocurrency:
- Open Your Crypto Wallet: This could be on an exchange like Binance, Coinbase, or a personal wallet.
- Go to the Send Section: Usually denoted by a "Send" button.
- Enter the Wallet Address: Copy and paste the appropriate wallet address from above.
- Confirm the Transaction: Make sure to double-check the address and amount before sending.
Your support is greatly appreciated!