Selenium WebDriverでFirefoxをプライベートウィンドウ/Chromeをシークレットモードで起動する方法・言語はpython
2017/04/29
Seleniumでは初期状態でブラウザを起動する
Seleniumでブラウザを起動する際、デフォルトで新しいプロファイルを使用してブラウザを起動します。
そのため、わざわざ Firefoxのプライベートウィンドウモード、Google Chromeのシークレットモードを指定して起動することなく、プライベートウインドウモード(シークレットモード)でブラウザを起動していることと同様の状態でブラウザが立ち上がっています。
ですが、この記事では、強制的に Firefoxのプライベートウィンドウモード、Google Chromeのシークレットモードを指定したうえで起動したい、という方法を解説します。
ちなみに、言語は Pythonです。
Selenium WebDriverで Firefoxをプライベートウィンドウで起動する方法・言語はpython
Firefoxをプライベートウィンドウで起動するサンプルスクリプト
Firefoxのプライベートモードをオンにして実行したい場合は、下記の様にプロフィール設定で「browser.privatebrowsing.autostart」と「browser.privatebrowsing.dont_prompt_on_enter」を「True」にする設定を追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# coding: utf-8 # ブラウザのプロフィール作成 from selenium.webdriver import FirefoxProfile default_profile = { 'browser.privatebrowsing.autostart': True, 'browser.privatebrowsing.dont_prompt_on_enter' : True, } profile = FirefoxProfile() for name, value in default_profile.items(): profile.set_preference(name, value) # プロキシの設定を作成 from selenium.webdriver import Proxy proxy = Proxy() proxy.ftp_proxy = proxy.ssl_proxy = proxy.http_proxy = None # Firefoxを起動 from selenium.webdriver import Firefox browser = Firefox(firefox_profile=profile, proxy=proxy) # URLを指定してそのページに遷移 url = 'http://blog.s-giken.net/' browser.get(url) |
サンプルスクリプトを実行した結果
前項の Pythonのサンプルスクリプトを実行しても、表示される Firefoxのウインドウがプライベートモードとして表示されるわけではありません。
ですが、「履歴」を一切保存しない設定に変わります。
上記の画面は、「オプション」-「プライバシー」の画面ですが、「履歴」の設定が変わります。
標準では、「履歴を記憶させる」となっていますが、「履歴を一切記憶させない」に変わります。
これで、事実上の「プライベートモード」と同じ状態になっている、ということです。
Selenium WebDriverで Chromeをシークレットモードで起動する方法・言語はpython
Selenium WebDriverで Chromeを起動する Pythonスクリプト
Chromeを起動させるだけの Pythonのスクリプトは下記になります。
1 2 3 4 5 6 |
# coding: utf-8 from selenium import webdriver browser = webdriver.Chrome() browser.get('http://blog.s-giken.net/') |
Selenium WebDriverで Chromeをシークレットモードで起動する Pythonスクリプト
前項の標準的な Chromeの起動スクリプトに対して、5行目、6行目にオプションとしてシークレットモードで起動する設定をして、そのオプションをブラウザを起動する際の引数に指定することで、シークレットモードの Chromeが起動するようになります。
1 2 3 4 5 6 7 8 9 |
# coding: utf-8 from selenium import webdriver chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--incognito") browser = webdriver.Chrome(chrome_options=chrome_options) browser.get('http://blog.s-giken.net/') |
画像を出すまでもないですが、Chromeを起動すると上記の様にシークレットモードで起動します。
Firefoxの場合は「事実上」のプライベートモードとなりますが、Chromeの場合は、画面からシークレットモードに変わりますので、シークレットモードで起動している、という見た目の安心感はありますね。
参考サイト
http://stackoverflow.com/questions/27630190/python-selenium-incognito-private-mode
selenium+Pythonで処理の自動化に関する記事
Selenium WebDriver、Pythonをインストールしブラウザ自動操作の環境構築手順のまとめ
PythonでUTF-8など日本語(全角文字)を使う方法。コメントにも必要。
Pythonをコマンドラインで実行。全角文字(日本語)を引数にする場合の対処方法
Selenium WebDriverでFirefoxをプライベートウィンドウ/Chromeをシークレットモードで起動する方法・言語はpython
Selenium WebDriver、Pythonをインストールし Chromeの自動操作の環境構築手順のまとめ
Beautiful Soupを利用してPythonでスクレイピングを行う環境構築方法の解説
PythonでMySQLへの接続ライブラリMySQL-pythonの簡単インストール方法
PythonでURLの有無、存在をチェックするスクリプト
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
借りてはいけないレンタルサーバ実例4社・アルファメール・WEBアリーナ
餅は餅屋。サーバはサーバ屋が提供するサービスを利用するべきという記事で、具体例 4サービスを例にこんなサーバはNGと紹介しています。
-
-
Gitで「fatal: Authentication failed for ‘https://example.com/git_repositories/example.git/’」のエラーが出た場合の対処方法の一つ
Gitのリモートリポジトリにアクセスする際、Authentication failedのエラーが。しかし、ID、PASSが間違っているのではなく、リモートリポジトリのURLが間違っている場合もあるので再度確認を。
-
-
ブラウザのキャッシュを活用するの対策!広告バナーを消して表示を高速化
あなたのサイトが遅いのはバリューコマースのバナーではないですか?バリューコマースのバナーを外すだけでmod_deflateとmod_expiresを設定するより効果があります!
-
-
PythonでMySQLへの接続ライブラリMySQL-pythonの簡単インストール方法
PythonはMySQLに接続するライブラリは別途インストールが必要。なのでMySQL-pythonライブラリのインストール方法とサンプルスクリプトで動作検証までを解説。
-
-
mod_pagespeedカスタマイズで高速化を詳細解説・Google謹製
mod_pagespeedをデフォルトのまま使っていませんか?mod_pagespeedはデフォルトのままでも速い!でも仕組みを理解し設定し直せばより速くなる!
-
-
直リンクとは何か?直リンクとディープリンクの違いと著作権問題
直リンクは著作権違反なのか?議論の前にまず「直リンク」の意味を正しく理解しよう。直リンクは他のサイトの画像を読み込む、ディープリンクなど多様な意味がある。
-
-
Pythonをコマンドラインで実行。全角文字(日本語)を引数にする場合の対処方法
Pythonをコマンドラインで実行する際、引数を付与して実行する方法の解説。その時問題となる日本語(全角文字)を利用する方法を解説。Windows環境での解説。
-
-
ロリポップからX-Serverに引越し。サーバの月額費用が増えても求めた理由は?
ロリポップからX-Serverに引越すその理由とは?SEOの観点からも少しでもサーバレスポンスが早いサーバが求められロリポップでは限界を感じたからです。
-
-
FTPでダウンロード時にファイルが重複するため上書きしますか?と表示される問題
FTPでファイルをダウンロードする際に「ファイルが重複しています。上書きしますか?」というメッセージが出る場合がありますが、これの原因と対策、解決策の記事です。
-
-
.gitignoreを更新しても反映されないときは「git rm -r –cached .」でキャッシュを削除
gitの.gitignoreを変更しても記述内容が反映されない時がある。それはGitのキャッシュが残っているため。そんなときは「git rm」コマンドを使ってキャッシュを削除すれば解決する。