Все доступные переключатели для хрома (большинство должно относиться и к хрому) можно найти по адресу:
https://peter.sh/experiments/chromium-command-line-switches/#lang
Я не нашел - accept-language в качестве одного из них, но - lang = locale является одним из них.
Чтобы использовать его, профиль, который откроет сеанс chrome, должен поддерживать его (являясь частью поддерживаемого языка).
По умолчанию это не так. Только ваш родной язык будет частью этого.
Чтобы добавить его, вы можете создать новые профили
В приведенном ниже коде будет использоваться один язык для каждого профиля. Даже если --lang = locale должен работать, если он есть в вашем профиле, это может быть сложно, так как реализация пользовательского интерфейса Chrome будет использовать тот, который установлен в основном / первом открытом окне Chrome.
Смотрите ответ @sarjoor для подробного объяснения:
Как работает язык в нескольких окнах Chrome
Теперь для создания нового профиля:
Как создать хромовый профиль
Когда ваш профиль создан и вы начали с ним сеанс, перейдите по адресу:
Хром: // Настройки / языки
Добавьте желаемые языки. Переместите язык вверху списка.
Затем нам нужно указать два переключателя профиля:
chrome_options.add_argument('--user-data-dir=profileDirectory')
chrome_options.add_argument('--profile-directory="yourProfileName))
Каталог и имя вашего профиля можно найти, перейдя по адресу: chrome: // версия
В macOS он находится по адресу:
Путь к профилю / Пользователи / Авто / Библиотека / Поддержка приложений / Google / Chrome / Профиль 1
profile_map = {
'en': 'Default',
'fr': 'Profile 1',
'de': 'Profile 2'
}
chrome_options.add_argument('--user-data-dir=/Users/auto/Library/Application Support/Google/Chrome')
chrome_options.add_argument('--profile-directory={}'.format(profile_map['de']))
Возможно, вы захотите добавить параметр --lang, но если для профиля выбран язык по умолчанию, он должен работать без него.
chrome_options.add_argument("--lang='de'")
with webdriver.Chrome(options=chrome_options) as driver:
driver.get(link)
for item in wait(driver,10).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,'.details a.title'))):
print(item.text)