Playwright Automation Developer (Python) - Long Term

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

$1,250 - $1,750/month

HOURS PER WEEK

40

DATE UPDATED

Sep 1, 2026

JOB OVERVIEW

Playwright Automation Developer (Python) — Long-Term Role

We're a US insurance company. Our platform gets insurance quotes automatically by logging into insurance carriers' websites and filling out their quote forms using Playwright and Python.

We're looking for a developer to own this work long-term.

What you'll do

Add new insurance carriers to our system by writing new Playwright automations — logging into their portal, navigating it, filling the quote form, and pulling the quote back
Keep the existing automations working when those websites change their layout or login process
Fix problems quickly when an automation stops working
Step in manually when an automation gets stuck, and push the quote through yourself
Improve the automation after each fix so the same problem doesn't happen again

What we need

At least 4 years of real Python development experience
You have used Playwright or Selenium to automate real websites that you don't own — logging in, filling forms, and getting data out. This is the most important requirement.
Experience with what goes wrong: websites changing, sessions expiring, timeouts, getting blocked
You know how to write code that retries and recovers instead of just failing
Good problem-solving — you can figure out why something broke, not just that it broke
You can make decisions on your own — when there's more than one way to solve something, you can pick one, explain why, and move forward without waiting to be told
You write clean, readable code that someone else on the team can understand and review
Good written English and reliable communication

Please read — what this role is, and isn't

This is hands-on coding with Playwright (Selenium or Puppeteer experience also works) against live websites we don't control. It is not a no-code or workflow-automation role — no Zapier, Make, n8n, or UiPath.

It's also different from software testing. If your Playwright or Selenium experience is writing tests for your own company's app, that's a valuable skill but a different kind of work than this. This role is about automating other companies' websites in production. When we talk, we'll ask about the specific projects where you've done that.

Nice to have

Experience getting around blocks: proxies, CAPTCHAs, user agents, saving sessions
Experience with FastAPI or Django
Experience with insurance or financial websites

The bar we hire against

We use AI coding tools a lot, and they are good at plenty of routine work. So the people we hire need to bring something those tools can't: real depth in an area where AI is still weak — like keeping automations working against websites that actively change and try to block you — or enough ownership and judgment that we can hand you a whole area and trust you with it.

Working hours

9:00 AM EST start for the first 90 days, so we can train you and have the team available while you learn the platform and the carriers. After that, there may be room to revisit the schedule.

Our hiring process

A technical interview with our team
A mock trial run — we give you a real problem from our platform and you work through it, so we can both see if it's a good fit

We're telling you upfront because the mock trial is the main part of how we d ---------- . We care more about what you can actually build than how you interview.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0202
Total Execution Time  0.0221
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,502,656 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Playwright-Automation-Developer-Python-Long-Term-1721444
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0122 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1721444
 LIMIT 1 
0.0012   SELECT *
FROM `employers`
WHERE `employer_id` = 948045
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1721444
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-09-25',ej.date_added) duration_days, DATEDIFF('2026-09-25',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_jobs ej WHERE e.employer_id = ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id = '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-09-25',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1721444' 
0.0007   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1721444 
0.0007   UPDATE employer_jobs SET hit_counts = '***Sep-01-2026=428***Sep-02-2026=148***Sep-03-2026=86***Sep-04-2026=31***Sep-05-2026=11***Sep-06-2026=17***Sep-07-2026=17***Sep-08-2026=12***Sep-09-2026=10***Sep-10-2026=17***Sep-11-2026=9***Sep-12-2026=10***Sep-13-2026=6***Sep-14-2026=6***Sep-15-2026=9***Sep-16-2026=7***Sep-17-2026=12***Sep-18-2026=10***Sep-19-2026=6***Sep-24-2026=2***Sep-25-2026=1' WHERE job_id= '1721444'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=855' WHERE job_id= '1721444'  
0.0006   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1721444' AND status LIKE 'sent%' ORDER BY id DESC  
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1721444 
0.0037   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '948045'
AND `date_added` >= '2022-06-08' 
0.0003   select * from teasers 
0.0021   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)