Skip to content

Connect button selectors broken — LinkedIn changed aria-labels #771

@Buildr3000

Description

@Buildr3000

Bug

The bot can't send any connection requests. It loops on "Connect button not found" for every profile, then disqualifies them after 3 attempts.

What happens

  1. Bot navigates to a profile page
  2. status.py correctly detects the "Connect" text on the page → returns QUALIFIED
  3. connect.py tries to click the button using button[aria-label*="Invite"][aria-label*="to connect"]:visibleno match
  4. Fallback _connect_via_more() tries div[role="button"][aria-label^="Invite"][aria-label*=" to connect"]no match either
  5. After 3 failed attempts → lead is marked as FAILED/Unreachable

Stats from our DB

  • 662 "Connect button not found" errors
  • 592 deals marked Failed
  • Essentially zero successful connection requests

Root cause (likely)

LinkedIn changed the aria-label on the Connect button. The current selectors expect "Invite X to connect" but LinkedIn no longer uses that format. The text "Connect" is visible on the page (detected by status.py via inner_text()), but the aria-label attribute no longer matches the CSS selectors in connect.py.

Affected selectors in linkedin/actions/connect.py

SELECTORS = {
    "invite_to_connect": 'button[aria-label*="Invite"][aria-label*="to connect"]:visible',
    "connect_option": 'div[role="button"][aria-label^="Invite"][aria-label*=" to connect"]',
}

Environment

  • Image: ghcr.io/eracle/openoutreach:latest
  • Platform: macOS (Docker)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions