В итоге мне удалось самому решить свою проблему ))
Дело в том, что мой стенд с Selenium расположен на виртуальной машине в Яндекс.Облаке и, вероятно, там происходят какие-то блокировки, если система чувствует, что кто-то на ней запускает ботов. Проблема решается, если настроить Chrome.webdriver как можно более похожим на обычный браузер.
Для этого я использовал библиотеку selenium_stealth
Вот код (модифицированный предыдущий), который корректно отрабатывает языковые настройки.
from selenium_stealth import stealth from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By language = 'es' chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--headless") browser = webdriver.Chrome(options=chrome_options) stealth(browser, languages=[language,"en"], vendor="Google Inc.", platform="Win32", ) print("Selenium_stealth: \t1.0.6.") print("Selenium.webdriver:\t", webdriver.__version__) print("browserVersion:\t\t", browser.capabilities['browserVersion']) print("chromedriverVersion:\t", browser.capabilities['chrome']['chromedriverVersion'].split(' ')[0]) print("-----------\n") browser.get("https://www.google.com/") print("URL:\t",browser.current_url, "\nTitle:\t", browser.title) print("My lang:\t", language) print("JS lang:\t", browser.execute_script("return window.navigator.userLanguage || window.navigator.language")) print("HTML lang:\t", browser.find_element(By.TAG_NAME, "html").get_attribute('lang')) browser.quit()
Результат исполнения скрипта:
Selenium_stealth: 1.0.6. Selenium.webdriver: 4.5.0 browserVersion: 107.0.5304.87 chromedriverVersion: 107.0.5304.87 ----------- URL: https://www.google.com/ Title: Google My lang: es JS lang: es HTML lang: es-419