Skip to content

mechanize

4,440 8 6 MIT
2.14.0 (5 Jan 2025) Jul 25 2009 213.1 thousand (month)

Mechanize is a Ruby library for automating interaction with websites. It automatically stores and sends cookies, follows redirects, and can submit forms — making it behave like a web browser without needing an actual browser engine.

Key features include:

  • Automatic cookie management Stores cookies received from servers and sends them back on subsequent requests, maintaining session state across multiple pages.
  • Form handling Can find, fill in, and submit HTML forms programmatically. Supports text inputs, selects, checkboxes, radio buttons, and file uploads.
  • Link following Navigate through pages by clicking links using their text content, CSS selectors, or href patterns.
  • History and back/forward Maintains a browsing history, allowing you to go back and forward through visited pages.
  • HTTP authentication Supports basic and digest HTTP authentication.
  • Proxy support Can route requests through HTTP proxies.
  • Redirect handling Automatically follows HTTP redirects (configurable).

Mechanize is one of the oldest and most established web interaction libraries in Ruby. It is best suited for scraping traditional server-rendered websites with forms and multi-page workflows. For JavaScript-heavy sites, a browser automation tool like Selenium or Playwright is recommended instead.

Highlights


popularproduction

Example Use


```ruby require 'mechanize'

agent = Mechanize.new

Navigate to a page

page = agent.get('https://example.com') puts page.title

Find and click a link

page = page.link_with(text: 'Products').click

Extract data from the page

page.search('.product').each do |product| name = product.at('.name').text price = product.at('.price').text puts "#{name}: #{price}" end

Fill in and submit a login form

login_page = agent.get('https://example.com/login') form = login_page.form_with(action: '/login') form['username'] = 'user@example.com' form['password'] = 'password123' dashboard = agent.submit(form)

Cookies are maintained automatically

puts dashboard.title # "Dashboard"

Download a file

agent.get('https://example.com/report.csv').save('report.csv') ```

Alternatives / Similar


5,927 2.14.1 (2026-02-07 15:17:15 ago) Dec 19 2009 compare
1,172 1.4.2 (2026-03-20 19:18:25 ago) Oct 31 2009 compare
707 2.9.0 (2025-02-22 01:13:49 ago) Jul 25 2009 compare
5,889 0.24.2 (2026-01-14 22:54:36 ago) Jul 25 2009 compare
4,131 1.6.0 (2026-03-10 12:58:26 ago) Oct 06 2009 compare
1,219 1.1.7 (2020-08-31 21:38:00 ago) Oct 25 2009 compare
908 1.1.3 (2026-03-05 00:04:35 ago) Sep 25 2013 compare
505 1.1.4 (2020-02-07 22:04:51 ago) Apr 20 2010 compare
835 0.7.2 (2025-02-03 07:58:27 ago) Jul 25 2009 compare
kimurai new
1,098 2.2.0 (2026-01-27 17:36:19 ago) Aug 23 2018 compare
1,360 3.3.0 (2026-04-07 16:31:34 ago) Dec 27 2011 compare
3,104 0.17.0 (2026-03-25 01:20:02 ago) Mar 20 2015 compare

Other Languages

1,517 1.0.5 (2024-02-12 21:10:00 ago) Nov 22 2014 compare
165 2.3.0 (2021-03-18 00:10:00 ago) Dec 22 2019 compare
53,883 2.33.1 (2026-03-30 16:09:13 ago) Feb 14 2011 compare
8,860 3.3.2 (2023-11-30 14:10:12 ago) Dec 28 2012 compare
15,183 0.28.1 (2024-12-06 15:37:21 ago) Jul 26 2019 compare
16,395 3.13.5 (2026-03-31 21:56:30 ago) Jul 26 2019 compare
108,987 1.15.0 (2026-04-08 16:09:38 ago) Aug 29 2014 compare
25,231 v2.2.0 (2025-03-27 10:47:28 ago) May 14 2018 compare
katana new
16,499 v1.5.0 (2026-03-10 14:52:47 ago) Nov 07 2022 compare
got
14,897 15.0.1 (2026-04-08 16:15:35 ago) Mar 27 2014 compare
7,594 v1.4.0 (2026-03-03 03:58:32 ago) Feb 15 2020 compare
5,944 v0.6.1 (2024-03-02 18:08:29 ago) Feb 23 2022 compare
1,631 3.5.0 (2026-03-12 22:24:55 ago) Dec 11 2011 compare
16,610 10.1.1 (2024-10-22 17:26:05 ago) Aug 22 2011 compare
2,772 2026-04-11 (2026-04-11 21:30:25 ago) Jun 06 2019 compare
711 2026-03-21 (2026-03-21 09:11:03 ago) Feb 09 2017 compare
primp new
504 1.2.2 (2026-04-03 07:11:15 ago) Jun 01 2024 compare
1,147 7.45.7 (2025-09-24 13:35:56 ago) Feb 25 2003 compare
61,276 2.15.0 (2026-04-09 12:02:09 ago) Jul 26 2019 compare
crawl4ai new
63,373 0.8.6 (2026-03-24 15:07:50 ago) May 01 2024 compare
985 1.4.8 (2023-08-15 11:00:00 ago) May 06 2012 compare
1,751 0.7.1 (2024-07-13 09:07:25 ago) Feb 23 2022 compare
23,447 7.10.0 (2025-08-23 22:36:01 ago) Nov 14 2011 compare
scrapling new
36,206 0.4.5 (2026-04-07 04:22:27 ago) Aug 01 2024 compare
crawlee new
22,720 3.16.0 (2026-04-09 07:36:53 ago) Apr 22 2022 compare
378 18.1.0 (2025-07-24 23:01:15 ago) Aug 06 2011 compare
2,033 v8.0.8 (2026-03-30 15:14:47 ago) Apr 28 2019 compare
605 25.5.0 (2025-06-03 03:42:30 ago) Dec 28 2012 compare
23,278 1.76.0 (2026-04-09 09:41:03 ago) Jan 15 2024 compare
req
4,781 v3.57.0 (2025-12-16 09:07:40 ago) Nov 20 2023 compare
11,632 v2.17.2 (2026-02-14 22:43:18 ago) Aug 05 2024 compare
5,964 v2.0.0-alpha.7 (2026-04-07 15:33:51 ago) Oct 28 2020 compare
2,053 (2021-05-19 15:14:49 ago) Nov 20 2016 compare
3,087 1.6.0 (2025-07-22 06:00:53 ago) Sep 04 2013 compare
4,321 4.0.97 (2026-01-06 07:45:54 ago) Oct 01 2023 compare
1,001 0.9.2 (2024-12-01 02:55:27 ago) Feb 23 2022 compare
107 1.6.0 (2024-07-19 19:50:00 ago) Nov 09 2016 compare
3,577 v2.0.17 (2025-12-12 17:47:19 ago) Oct 06 2013 compare
6,790 2.0.2 (2025-05-28 09:36:01 ago) Sep 10 2012 compare
3,062 v2.4.0 (2026-01-08 05:29:21 ago) Jul 17 2018 compare
goutte new
9,215 v4.0.3 (2023-04-01 09:05:33 ago) Dec 02 2012 compare
1,924 1.3.0 (2024-09-23 13:16:34 ago) Nov 11 2011 compare
248 1.34.0 (2024-11-27 14:57:34 ago) Feb 05 2023 compare
1,803 1.0.0 (2024-05-01 11:33:16 ago) Apr 14 2012 compare
3,400 1.6.0 (2025-02-16 13:18:50 ago) Sep 30 2018 compare
12,807 1.1.9 (2018-10-21 03:39:17 ago) Aug 24 2018 compare
7,136 1.1.14 (2022-07-17 17:20:09 ago) Jul 26 2019 compare
1,454 v3.2.1 (2025-03-21 06:53:36 ago) Dec 27 2021 compare
3,495 0.9.13 (2023-07-19 18:53:46 ago) Jul 04 2017 compare
1,743 0.8.5 (2022-09-06 08:54:56 ago) Oct 17 2018 compare
217 1.0.0-beta8.4 (2023-06-29 12:37:12 ago) Apr 18 2019 compare
583 3.0.0 (2024-04-09 15:34:59 ago) May 04 2020 compare
425 0.1.3 (2023-08-01 20:28:33 ago) Feb 20 2022 compare
1,341 v0.7.6 (2025-12-04 15:08:06 ago) Mar 16 2013 compare
369 v3.5.6 (2026-01-05 11:13:18 ago) Apr 18 2022 compare
firecrawl new
- 0.0.0 (2025-03-15 00:00:00 ago) Apr 01 2024 compare
Was this page helpful?