How to Double-Click in Vibium
Double-click elements in Vibium with el.dblclick(). Runnable Python examples for rows and inline edits, plus how auto-waiting keeps clicks reliable.
To double-click an element in Vibium, find it and call dblclick(), like vibe.find(".row").dblclick(). Vibium scrolls the element into view, waits for it to become actionable, and sends two clicks in rapid succession through WebDriver BiDi's input.performActions, so the element's native dblclick event fires exactly as it would for a real user. This is the command you reach for when an action is bound to double-clicking rather than a single click: opening a row in a data grid, entering inline-edit mode on a cell, expanding a tree node, or selecting a word of text. Because Vibium runs its actionability checks before every interaction, you do not need manual waits or retry loops — a plain dblclick() already waits up to the timeout for the element to be visible, stable, enabled, and on top. The result is a reliable double-click that does not race ahead of a still-loading page.
How do I double-click an element?
Locate the element with find() and chain dblclick() onto it. Vibium sends the two clicks to the element's center point.
from vibium import browser_sync as browser
vibe = browser.launch()
vibe.go("https://example.com")
# Double-click by CSS selector
vibe.find(".file-row").dblclick()
# Or find first, then double-click
cell = vibe.find("#cell-name")
cell.dblclick()
vibe.quit()You can also target semantically when CSS selectors are brittle:
vibe.find(role="row", text="report.pdf").dblclick()See how to find elements in Vibium for every selector option, including combining role and text in one call.
What is the difference between click and dblclick?
click() sends a single pointer click; dblclick() sends two clicks close together so the browser raises a dblclick event. Use dblclick() only when the behavior you want is wired to double-clicking — otherwise a single click() is the right call.
# Single click — follows a link or presses a button
vibe.find("a.open").click()
# Double click — enters inline edit mode on a grid cell
vibe.find(".grid-cell").dblclick()A common use is text selection: double-clicking a word selects it, which is handy before typing a replacement. Pair it with typing text to overwrite the selected content.
Does Vibium wait before double-clicking?
Yes. Before the clicks fire, Vibium runs the same actionability checks it uses for a single click: the element must be visible, stable, enabled, and actually receiving pointer events. It polls until those conditions hold or the timeout (default 30 seconds) is reached.
# No manual wait needed — Vibium waits until the row is actionable
vibe.find("#row-42").dblclick()If the element never becomes actionable — it stays hidden, disabled, or sits under an overlay such as a loading spinner — the action times out instead of clicking the wrong thing. Fix the underlying state rather than adding sleep() calls; see waiting and actionability in Vibium for how the checks work.
Next steps
Frequently asked questions
How do I double-click an element in Vibium?
Find the element with find(), then call dblclick() on it, like vibe.find('.row').dblclick(). Vibium scrolls the element into view, waits for it to be actionable, and sends two clicks in quick succession so dblclick handlers and text selection behave just like a real user double-click.
What is the difference between click and dblclick in Vibium?
click() sends a single pointer click, while dblclick() sends two clicks in rapid succession to trigger the element's dblclick event. Use dblclick() for actions bound to double-click such as opening a row, entering inline edit mode, or selecting a word of text.
Does Vibium wait before double-clicking?
Yes. Before the clicks fire, Vibium runs actionability checks confirming the element is visible, stable, enabled, and receiving events. It polls until those pass or the timeout is reached, so a double-click on a not-yet-ready element does not silently miss.
Vibium is created by Jason Huggins. This is an independent tutorial — see the official Vibium site and GitHub repo for canonical docs.
Related guides
How to Check a Checkbox in Vibium
Check a checkbox in Vibium with el.check(). Runnable Python examples for ticking, unticking, verifying state, and handling many checkboxes.
3 min read→Commands & APIHow to Clear an Input Field in Vibium
Clear an input field in Vibium with el.clear(). Runnable Python examples for emptying text fields, replacing values, and resetting forms.
2 min read→Commands & APIHow to Click Elements in Vibium
Click buttons and links in Vibium with el.click(). Runnable Python examples plus how auto-waiting and actionability make clicks reliable.
2 min read→Commands & APIHow to Count Elements in Vibium
Count elements in Vibium with el.count() or len(findAll()). Runnable Python examples for counting rows, links, search results, and assertions.
3 min read→