If a website doesn't want you to scrape it, there's usually little you can do, especially for the likes of Google or Amazon. In fact, it's also a matter of whether you should be doing it at all.
I know google doesn't allow scraping but there are some paid APIs which does exactly the same thing i.e. providing Google Search Results. How are they working??!!
They use similar to tools to the ones you're using, just in a larger scale. An example is multiple scraping agents in containers, each using a different proxy until they are detected. The agents then combine their findings and they are restarted to scrape further.
Also, if google doesn't allow scraping, then why does it let scrapers scrape for a limited number of times?
This can happen as it could take some time to tell for sure that a bot is being used. Moreover, you might need to scrape for a while before they decide that you're abusing their service.
However, there are a couple of things you could try. You could use a User-Agent with Selenium and include this in your options: . The latter does miracles for some websites on Chrome with Selenium, but I am not sure if it's the same with Firefox.options.add_argument('--disable-blink-features=AutomationControlled')