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