What is the best strategy to handle the captcha in selenium webdriver?

*I want to know how we handle the captcha verification during registration process in automation.


Any chance you can talk your team into skipping automating that? The purpose of a captcha is to prevent robots from clicking it, just go over it manually and skip it in your automation scenarios.



Pretty much never do this in testing, it’s an anti-pattern to test 3rd party components - all it does is add cost and slow down test runs. Every day you waste testing a component you don’t own or control is a day you cannot test things you can control. Push back now before it stops you doing really useful work. If there is a business requirement for a captcha, let the team that cares about that, test the captcha properly. The captcha issue is not just a browser client issue, it’s a load more specialized as a security problem which is a bit pointless when the browser you are testing is often inside the corporate firewall anyway. Hence serves no purpose to test it inside the house.


It’s not very helpful, but the whole idea behind a captcha is that it can’t be cracked by machine.


Who is asking for this ? Kindly ask your devs to turn off captcha for your automated testing.


Here at the company the dev team implemented an env variable to enable/disable captchas on testing environments. So before run the e2e test suite, I’m able to disable the captchas


I hope at all this replies that finally a human tests that the captcha integration works.
What an irony … a feature being uncheckable by a machine, because it is its purpose.

1 Like

I guess there are many different captchas, options, but I would say, it generally depends:

  • If the captcha component is owned by your organization, I would try to setup some “magic” user or logic that always works the same way, so that you always know the answer for the captcha in the test.
  • If it is a 3rd party captcha (and you still want/need to bypass it), maybe you could use a Firefox profile to leave always a opened session, so you don’t need to answer the captcha (This works for Whatsapp, for example)

For every web application with Captcha enabled, automated UI testing could be big problem, specifically because the step including captcha can create a hindrance in a test scenario. Further, the captcha does not go properly with automation, as doing so will become a hurdle in your path of prohibiting bots from doing any activity on the application.

Hence, it is important to handle captcha in Selenium testing to make sure that all the tests run efficiently without any bottlenecks.

Automating captcha is not the most perfect practice, there are three different ways of managing captcha in Selenium:

  1. By restricting the captcha in the testing environment.
  2. Including a hook to click the captcha checkbox
  3. By manually solving captcha during a test.