Seleniumを使ってブラウザの自動操作を行う際、特定のUser Agentを設定することで、異なるデバイスやブラウザからのアクセスをシミュレートできます。本記事では、User Agentのプロフィールパスの取得方法と、Seleniumでの設定方法について解説します。
User Agentとは?
User Agentは、ブラウザがウェブサーバーに送信する識別情報です。この情報には、ブラウザの種類、バージョン、オペレーティングシステムなどが含まれており、ウェブサイトはこの情報を基にコンテンツの表示を最適化します。
プロフィールパスの取得方法
Chromeブラウザで現在のUser Agentを確認し、それを基にしたプロフィールパスを取得する方法を紹介します。
-
ChromeでUser Agentを確認する
Chromeブラウザを起動し、アドレスバーにchrome://version/
と入力してアクセスします。このページには現在のUser Agentやプロファイルパスが表示されます。
-
プロファイルパスを取得する
上記のページで、プロフィールパス
という項目を探してください。これは、Chromeが使用するプロファイルフォルダのパスを示しています。このパスを使用して、特定のプロファイルでSeleniumを実行することができます。
SeleniumでUser Agentを設定する方法
次に、取得したプロフィールパスをSeleniumで使用し、特定のUser Agentを設定する方法を説明します。以下はPythonの例です。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# Chromeオプションを設定
chrome_options = Options()
# 任意のUser Agentを設定
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
chrome_options.add_argument(f'user-agent={user_agent}')
# 取得したプロファイルパスを設定
profile_path = "C:\\Users\\YourUsername\\AppData\\Local\\Google\\Chrome\\User Data\\Default"
chrome_options.add_argument(f'user-data-dir={profile_path}')
# ChromeDriverを起動
driver = webdriver.Chrome(options=chrome_options)
# 任意のウェブサイトにアクセスして動作確認
driver.get("https://www.whatismybrowser.com/")
# ブラウザを閉じる
driver.quit()
解説
- User Agentの設定:
chrome_options.add_argument(f'user-agent={user_agent}')
を使って、任意のUser Agentを指定します。 - プロファイルパスの設定:
user-data-dir={profile_path}
で、取得したプロファイルパスをChromeDriverに設定します。これにより、指定したプロファイルでブラウザを起動できます。