26
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Selenium Chrome Proxy の設定

Last updated at Posted at 2017-10-16

はまったので、メモ書きとして。

Selenium を利用しているときChromeにProxy の設定を行いたい。

Linux OS 側で設定

環境変数として設定する。

	export http_proxy='http://{userid}:{password}@{proxy-server}:{port}'
	export https_proxy='https://{userid}:{password}@{proxy-server}:{port}'

この場合、remoteDriver でlocalhostのSeleniumへの通信もProxyを通ることになる。
ChromeDriverを利用しているだけであれば問題ないが、Script内で他のものに通信する場合もProxyを通る場合が大半。

Chromeのドライバ側で設定


	from selenium.webdriver.chrome.options import Options
    
    option = Options()
    PROXY = '{proxy-server}:{port}'
    PROXY_AUTH = '{userid}:{password}'
    option.add_argument('--proxy-server=http://%s' % PROXY)
    option.add_argument('--proxy-auth=%s' % PROXY_AUTH)

    driver = webdriver.Chrome(chrome_options=option)

Chrome の起動時にProxyに関するパラメーターを設定することで、Proxy経由での通信とすることができる。

同様にリモートドライバの設定

ChromeDriver利用時の設定と同様に下記の様に設定すれば良いみたい。

        
    PROXY = '{proxy-server}:{port}'
    PROXY_AUTH = '{userid}:{password}'
    self.driver = webdriver.Remote(
        command_executor='http://{selenium-server}:{port}/wd/hub',
        desired_capabilities={
            'browserName': 'chrome',
            'chromeOptions': {
                'args': [
                	'--start-maximized',
                	'--proxy-server=http://{proxy-server}:{port}',
                	'--proxy-auth={userid}:{password}'
                ]
            }
        })

26
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?