This code below is working and translating for free, but needs Google Chrome instaled, so we used DeepL by now:


# def test_google_translate():
#     # https://translate.google.com/?hl=es&sl=auto&tl=en&text=Quiero%20ir%20a%20Tailandia&op=translate

#     from web_scraper_easy.chrome import ChromeScraper, By
#     from web_scraper_easy.chrome.dataclasses.options_argument import MuteAudioChromeOptionsArgument, CustomChromeOptionsArgument
#     from selenium.webdriver.support.ui import WebDriverWait
#     from selenium.webdriver.support import expected_conditions as EC

#     text = 'Quiero ir a Tailandia'
#     url = f'https://translate.google.com/?hl=es&sl=auto&tl=en&text={text}'

#     chrome_scraper = ChromeScraper.init(
#         do_use_gui = False,
#         additional_options = [
#             MuteAudioChromeOptionsArgument,
#             # Disable auto-play
#             CustomChromeOptionsArgument("--autoplay-policy=user-gesture-required"),
#             CustomChromeOptionsArgument("--disable-audio-output")
#             # "--disable-features=PreloadMediaEngagementData,MediaEngagementBypassAutoplayPolicies"
#         ]
#     )

#     chrome_scraper.go_to_web_and_wait_until_loaded(url)

#     def get_element_with_text(driver):
#         element = driver.find_element(
#             By.CSS_SELECTOR,
#             'div[jsaction*="copy:"]'
#         )

#         if element.text.strip():
#             return element

#         return False

#     translation_element = WebDriverWait(
#         chrome_scraper.driver,
#         10
#     ).until(
#         get_element_with_text
#     )

#     return translation_element.text