For web automation/testing, Selenium has been the de facto "standard" since
forever. It's simple to get started with and supports almost every programming
language.
My problem with it has been: It's good enough, but nothing more. It doesn't work
that well with modern, Javascript framework heavy sites (Angular, React