Class: HeadlessBrowserTool::Tools::ClickTool

Inherits:
BaseTool
  • Object
show all
Defined in:
lib/headless_browser_tool/tools/click_tool.rb

Instance Method Summary collapse

Instance Method Details

#execute(selector:) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/headless_browser_tool/tools/click_tool.rb', line 15

def execute(selector:)
  # Capture state before click
  url_before = browser.current_url

  # Get element info before clicking
  element = browser.find_element(selector)
  element_text = element[:text]
  tag_name = element[:tag_name]

  # Perform click
  browser.click(selector)

  # Brief wait to allow page changes
  sleep 0.1

  {
    selector: selector,
    element: {
      tag_name: tag_name,
      text: element_text
    },
    navigation: {
      url_before: url_before,
      url_after: browser.current_url,
      navigated: url_before != browser.current_url
    }
  }
end