Selenium Python Bindings에서 브라우저 언어를 지정하여 비밀 모드로 페이지 열기 (Chrome)

「웹 브라우저 경유의 GUI밖에 설정 수단이 없다」MW의 구축을 자동화할 수 있을까라고 모색하고 있을 때, 검색해도 의외로 곧 나오지 않았기 때문에 메모.
$ pip install selenium
$ brew install chromedriver

sample.py
# -*- coding: utf-8 -*-
from __future__ import division, print_function, absolute_import, unicode_literals

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

options = webdriver.ChromeOptions()
options.add_argument('--incognito')  # secret mode
options.add_experimental_option('prefs', {'intl.accept_languages': 'en_US'}) # locale=en_US

# use local driver
driver = webdriver.Chrome(chrome_options=options)

## use remote driver
#driver = webdriver.Remote(
#    command_executor='http://127.0.0.1:4444/wd/hub',
#    desired_capabilities=options.to_capabilities())

driver.get("https://www.debian.org/")
assert "Debian" in driver.title
elem = driver.find_element_by_name("P")
elem.clear()
elem.send_keys("debi_fujin")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()

실행하면 이런 느낌이 듭니다.
$ python sample.py



어쩔 수없는 빠짐없이

  • w w. 5오gぇ. 작은 m 등, 접속원의 IP주소를 보고 언어를 전환하고 있는 페이지에는 통용하지 않는다(당연하네요…)

  • selenium-server의 Docker 이미지에는 일본어 글꼴 등이 들어 있지 않습니다

  • 당입니다.

    참고 : [Selenium] python + ChromeDriver에서 Accept-Language 헤더를 설정하는 방법 - miyajan blog

    좋은 웹페이지 즐겨찾기