Upwork Profile Editor (hardened). Authored by upwork_sandbox.py. License: cc-by.
Each row is a real action successfully driven through WebLoom on this site — recorded automatically when an author ran the engine. Strategy tells the engine which click path works here.
Profile editing uses MODAL-based flows — each section opens a separate dialog with [role=dialog].
Edit triggers found via [aria-label*=edit i], button[aria-label*=edit i], [data-test*=edit i].
10 edit triggers visible on the profile page tested.
Modals close via Cancel/Cerrar button or Escape key — confirmed safe pattern.
This is what installs to ~/.webloom/threads/. No magic. Just JSON.
{
"domain": "upwork.com",
"name": "Upwork Profile Editor (hardened)",
"version": "0.1.0",
"author": "upwork_sandbox.py",
"license": "cc-by",
"tier": "pro",
"framework": "nuxt-root",
"frameworks_detected": [
"nuxt-root",
"nuxt",
"vue"
],
"anti_bot_verdict": "normal",
"default_strategy": "cdp",
"notes": [
"Profile editing uses MODAL-based flows — each section opens a separate dialog with [role=dialog].",
"Edit triggers found via [aria-label*=edit i], button[aria-label*=edit i], [data-test*=edit i].",
"10 edit triggers visible on the profile page tested.",
"Modals close via Cancel/Cerrar button or Escape key — confirmed safe pattern."
],
"selectors": {
"edit_triggers": "[aria-label*='edit' i], button[aria-label*='edit' i], [data-test*='edit' i], [data-qa*='edit' i]",
"modal_container": "[role=dialog], [aria-modal=true], .air3-modal",
"modal_header": "h1, h2, h3, .air3-modal-header",
"save_button_text_keys": "save | guardar | submit | enviar | update | actualizar | apply | aplicar",
"cancel_button_text_keys": "cancel | cancelar | close | cerrar | dismiss",
"close_x_button": "button[aria-label*='close' i], button[aria-label*='cerrar' i], button.air3-btn-close"
},
"quirks": {
"modal_save_scope_required": "Like Reddit — many submit-like buttons on a logged-in profile page; ALWAYS scope to [role=dialog] before searching for save",
"editor_types_seen": [
"none-detected-in-probed-sections"
],
"skill_autocomplete": "Skills use [role=combobox] with aria-autocomplete; type via key_type then click matching listbox option"
},
"edit_sections": [
{
"section_label": "Mariano M.",
"trigger_aria": "Edit photo",
"trigger_data_test": "",
"modal": {
"modal_tag": "DIV",
"modal_class": "air3-modal air3-transition-intro-enter air3-transition-intro-enter-active",
"modal_data_test": "",
"header": "Edit photo\n Close the dialog",
"editor_type": "none",
"input_count": 3,
"inputs": [
{
"tag": "input",
"type": "file",
"name": "imageUpload",
"id": "image-crop-17",
"placeholder": "",
"aria": "",
"autocomplete": "",
"readonly": false
},
{
"tag": "input",
"type": "range",
"name": "",
"id": "",
"placeholder": "",
"aria": "zoom",
"autocomplete": "",
"readonly": false
},
{
"tag": "input",
"type": "range",
"name": "",
"id": "range-slider-input-18",
"placeholder": "",
"aria": "",
"autocomplete": "",
"readonly": false
}
],
"comboboxes": [],
"save_btn": {
"text": "save photo",
"classes": "air3-btn air3-btn-primary",
"data_test": ""
},
"cancel_btn": {
"text": "close the dialog",
"classes": "air3-modal-close",
"data_test": ""
},
"all_button_count": 6
}
},
{
"section_label": "Fast Delivery: Scripts, Copy, Web & Automation",
"trigger_aria": "Edit title",
"trigger_data_test": "",
"modal": {
"modal_tag": "DIV",
"modal_class": "air3-modal air3-transition-intro-enter air3-transition-intro-enter-active",
"modal_data_test": "",
"header": "Edit your title\n Close the dialog",
"editor_type": "none",
"input_count": 1,
"inputs": [
{
"tag": "input",
"type": "text",
"name": "",
"id": "profile-title",
"placeholder": "Example: Audio Producer",
"aria": "",
"autocomplete": "",
"readonly": false
}
],
"comboboxes": [],
"save_btn": {
"text": "save",
"classes": "air3-btn air3-btn-primary",
"data_test": ""
},
"cancel_btn": {
"text": "close the dialog",
"classes": "air3-modal-close",
"data_test": ""
},
"all_button_count": 3
}
},
{
"section_label": "$50.00/hr",
"trigger_aria": "Edit hourly rate",
"trigger_data_test": "",
"modal": {
"modal_tag": "DIV",
"modal_class": "air3-modal air3-transition-intro-enter air3-transition-intro-enter-active",
"modal_data_test": "",
"header": "Change hourly rate\n Close the dialog",
"editor_type": "none",
"input_count": 3,
"inputs": [
{
"tag": "input",
"type": "text",
"name": "",
"id": "",
"placeholder": "$0.00",
"aria": "",
"autocomplete": "",
"readonly": false
},
{
"tag": "input",
"type": "text",
"name": "",
"id": "",
"placeholder": "$0.00",
"aria": "",
"autocomplete": "",
"readonly": true
},
{
"tag": "input",
"type": "text",
"name": "",
"id": "",
"placeholder": "$0.00",
"aria": "",
"autocomplete": "",
"readonly": false
}
],
"comboboxes": [],
"save_btn": {
"text": "save",
"classes": "air3-btn air3-btn-primary",
"data_test": ""
},
"cancel_btn": {
"text": "close the dialog",
"classes": "air3-modal-close",
"data_test": ""
},
"all_button_count": 5
}
},
{
"section_label": "Fast Delivery: Scripts, Copy, Web & Automation",
"trigger_aria": "Edit description",
"trigger_data_test": "",
"modal": {
"modal_tag": "DIV",
"modal_class": "air3-modal air3-transition-intro-enter air3-transition-intro-enter-active",
"modal_data_test": "",
"header": "Profile overview\n Close the dialog",
"editor_type": "none",
"input_count": 1,
"inputs": [
{
"tag": "textarea",
"type": "textarea",
"name": "",
"id": "profile-description",
"placeholder": "Example: I have more than 25 years of experience in audio production and have worked with clients all over the globe on original soundtracks for movies, jingles for TV and radio commercials and music albums.\r\n\r\nI have worked for the Hellenic Broadcasting Corporation where I had the chance to master my skills on audio production and deliver high quality projects while dealing with strict deadlines. I currently run my own company focused on mixing, editing, mastering and more. My services and rates are flexible to work for various teams with budgets and needs of all kinds.\r\n\r\nI'm always open to new projects and look forward to hearing from you.",
"aria": "",
"autocomplete": "",
"readonly": false
}
],
"comboboxes": [],
"save_btn": {
"text": "save",
"classes": "air3-btn air3-btn-primary",
"data_test": ""
},
"cancel_btn": {
"text": "close the dialog",
"classes": "air3-modal-close",
"data_test": ""
},
"all_button_count": 3
}
},
{
"section_label": "Promote with ads",
"trigger_aria": "Edit availability badge",
"trigger_data_test": "pib-edit-button",
"modal": {
"modal_tag": "DIV",
"modal_class": "air3-modal air3-transition-intro-enter air3-transition-intro-enter-active",
"modal_data_test": "",
"header": "Edit skills\n Close the dialog",
"editor_type": "none",
"input_count": 1,
"inputs": [
{
"tag": "input",
"type": "hidden",
"name": "",
"id": "",
"placeholder": "",
"aria": "",
"autocomplete": "",
"readonly": false
}
],
"comboboxes": [],
"save_btn": {
"text": "save",
"classes": "air3-btn air3-btn-primary",
"data_test": ""
},
"cancel_btn": {
"text": "close the dialog",
"classes": "air3-modal-close",
"data_test": ""
},
"all_button_count": 3
}
},
{
"section_label": "Promote with ads",
"trigger_aria": "Edit availability",
"trigger_data_test": "",
"modal": {
"modal_tag": "DIV",
"modal_class": "air3-modal air3-transition-intro-leave air3-transition-intro-leave-active",
"modal_data_test": "",
"header": "Edit skills\n Close the dialog",
"editor_type": "none",
"input_count": 1,
"inputs": [
{
"tag": "input",
"type": "hidden",
"name": "",
"id": "",
"placeholder": "",
"aria": "",
"autocomplete": "",
"readonly": false
}
],
"comboboxes": [],
"save_btn": {
"text": "save",
"classes": "air3-btn air3-btn-primary",
"data_test": ""
},
"cancel_btn": {
"text": "close the dialog",
"classes": "air3-modal-close",
"data_test": ""
},
"all_button_count": 3
}
},
{
"section_label": "Promote with ads",
"trigger_aria": "Edit language",
"trigger_data_test": "",
"modal": {
"modal_tag": "DIV",
"modal_class": "air3-modal air3-transition-intro-enter air3-transition-intro-enter-active",
"modal_data_test": "",
"header": "Turn on availability badge\n Close the dialog",
"editor_type": "none",
"input_count": 1,
"inputs": [
{
"tag": "input",
"type": "number",
"name": "",
"id": "pib-connects-input",
"placeholder": "",
"aria": "Maximum Connects 14",
"autocomplete": "",
"readonly": true
}
],
"comboboxes": [],
"save_btn": null,
"cancel_btn": {
"text": "close the dialog",
"classes": "air3-modal-close",
"data_test": ""
},
"all_button_count": 4
}
}
],
"validated_at": 1779103838,
"validated_by": "upwork_sandbox.py (read-only, no saves)",
"tested_url": "https://www.upwork.com/freelancers/~01cb238d02b42346ae",
"proven_actions": [
{
"descriptor": "Edit title",
"strategy": "cdp",
"successes": 3,
"last_at": 1779110607
},
{
"descriptor": "Edit hourly rate",
"strategy": "cdp",
"successes": 2,
"last_at": 1779104727
},
{
"descriptor": "Edit photo",
"strategy": "js",
"successes": 1,
"last_at": 1779104167
},
{
"descriptor": "Save photo",
"strategy": "js",
"successes": 1,
"last_at": 1779104277
},
{
"descriptor": "[role=dialog] button[type=submit]",
"strategy": "vision",
"successes": 1,
"last_at": 1779104499
},
{
"descriptor": "Save",
"strategy": "js",
"successes": 1,
"last_at": 1779113791
},
{
"descriptor": "Edit description",
"strategy": "js",
"successes": 1,
"last_at": 1779113925
}
]
}