質問: **環境** macOS high sierra Google Chrome 86.0.4240.80 (Official Build) (x86_64) **理由** seleniumを使用しており、バージョンが変更されるたびにwebdriverをインストールするのが大変なので、chromeの自動更新を停止したいです。 **試した事** 下記のサイトを参考に `defaults write com.google.Keystone.Agent checkInterval 0` で更新間隔をゼロにする方法を取りました。 [Mac版]GoogleChromeの自動更新を停止する方法。 しかし、この設定では上手く行かずchromeが更新されてしまいました。 `user/library/preferences`の中にある`com.google.Keystone.Agent.plist`を確認したら`checkInterval`という値はありませんでした。おそらく上記の方法は使用できなくなったんだと思います。 そこで検索を続けると公式のヘルプページを見つけました。 Chrome の更新を管理する(Mac) - Google Chrome Enterprise ヘルプ 手順にそって`com.google.Keystone.plist`をVScodeにコピペして作成してPreferencesフォルダに移動させたのですが、パソコンを再起動するとファイルが削除されてしまいます。 そもそもVScodeで貼り付けて動作するかもよく分からないです。XMLをエンコード出来るものでと公式手順には書かれていたのですが、XMLの操作はテキストエディタでも出来るので問題ないように思うのですが、いまいちその辺に詳しくないので分からないです。 **追記** 海外StackExchangeでアップデートのurlアクセスをブロック?する方法を見つけたのですが、シェルスクリプトを読んでもなぜ動作するのかよくわかりません。 他の方法アクセス権限の変更、ファイル削除と比較して非侵襲的で良いと思ったのですが仕組みが分からないので実行するのが怖いです。 **コード** ``` #!/bin/sh sudo tee -a /etc/hosts << EOF # Block Google Chrome auto-update 0.0.0.0 tools.google.com EOF ``` **10/23 追記2** 上記のコードを実行して/etc/hostsに`0,0,0,0 tools.google.com`を追加しました。これはtools.google.comと入力すると0.0.0.0に変換されるという意味になります。`127.0.0.1 localhost`のような物です。アップデート確認時に`tools.google.com`にfetchをしているのでここをブロックすればアップデート出来ないと考えて実行したのですが、普通にアップデート確認出来てしまったので、もはや上記のurlが使用されていないのかもしれないです。 ここのサイトにもある方法も試して5番目にある Change the auto update URL (Mac)も試したのですが、googleアカウントの同期が停止しました。googlechromeを確認するとエラーにならず、最新版ですと表示されるので期待した動作をしていないように見えます。 詳しい方ご教授お願いします。
回答: Chrome の代わりに Chromium をインストールして利用する方法が考えられます。 Chrome は Chromium のソースコードをベースにしているので両者は基本的な部分で同じものですが、Chromium においては Google のブランド (ロゴ等) や **自動更新** が省かれています。 Chromium - Wikipedia > > Chrome にあり Chromium にない代表的な機能要素は、Googleブランド、自動アップデート機能、(以下略) > > > ソースコードが公開されているので、様々なビルドが配布されています。 Chromium for Mac Download latest stable Chromium binaries (64-bit and 32-bit) Selemium から利用する際には Chromium の PATH を明示的に指定する必要があるでしょう。 SeleniumでChromiumを操作したい - teratail > > > ``` > def __init__(self): > self.options = Options() > self.options.binary_location = 'Chromium のPATH' > self.browser = webdriver.Chrome(executable_path ='chromedriver.exe のPATH' , options=self.options) > > ``` > >