質問: firefoxでブックマークフォルダーにいっぱいのブックマークが登録されています。 ブックマークフォルダーをfirefoxへドラックアンドドロップすると > > ○○個のタブを開こうとしています。この操作を行うと、ページの読み込み中は Firefox が遅くなる可能性があります。続行しますか? > > > とメッセージがあらわれます。 僕はひとつひとつをタブで開くのではなく、ブックマークフォルダーのサイトを順番(1つのタブで次のブックマーク、前のブックマークを見るという感じ)に開いて、ショートカットキーのようなもので簡単に前後のブックマークに移動したいのですが、このために使える機能や拡張機能はありますか? ブラウザ、OSのバージョンはこうなっています * windows10 * firefox74.0
回答: FireFox自身や拡張機能で何とかするのではなく、PythonとかC#でSelenium,WebDriverを使って外から動かすのもアリではないでしょうか? ブックマークしたWebサイトを巡回して確認したいような感じなので。 * PythonとかC#で自作アプリを作り、Selenium,WebDriverを使ってFireFoxを立ち上げる * ブックマークは事前に情報取得して自作アプリで使いやすい形式に格納しておく アプリの1機能としてFireFoxのブックマークと同期させる手段を用意しておくのも良い * グローバルなホットキーを登録して「次」「前」「アプリ表示切替」の3つくらいを用意する * 通常は最小化しておくか、元からタスクバーに表示されないように作成する 例えば下記紹介記事のPythonなんかで、簡単で基本的な動作検証が考えられます。 以下のようなブックマークから抽出したサイトのリスト(`bmlist.txt`)を作っておき。 ``` https://www.amazon.co.jp/ http://www.gakufu.ne.jp/GakufuNet/ https://www.kinokuniya.co.jp/ https://honto.jp/ https://www.yaesu-book.co.jp/ ``` こんなプログラムでコマンドプロンプトから実行します。 該当ページを表示するFireFoxが立ち上がるので、その内容を確認します。 実行しているコマンドプロンプトにフォーカスを当ててEnterを押下すれば次のサイトに移動します。 ``` from selenium import webdriver driver = webdriver.Firefox(executable_path='geckodriver') with open('bmlist.txt') as f: # ブックマークリストの読み込み bmlist = f.read().splitlines() for s in bmlist: # ブラウザで1サイトづつ表示。Enterキーで次へ移動 driver.get(s) ky = input('GoTo Next Site.') ``` ホットキー登録・ブックマーク同期とか、WebDriver起動時のオプション・環境設定などの機能を追加していけば、そんなに難しくはなく希望の物が出来るのではないでしょうか? 以下は参考記事 Selenium,WebDriverでブラウザ操作: 【Python】Seleniumの使い方(ブラウザ自動操作) C#でSelenium2を使用して主要ブラウザを動かしてみた ブックマーク処理: Get bookmarks from your Firefox browser database. jayrambhia/Bookmark-Manager Dissimilis/BookmarksManager ホットキー登録: Python Tkinter hide and show window via hotkeys PyQt5:ウィンドウを表示してなくてもキーに反応させる wxPythonでホットキーを使う Global Shortcuts in WinForms and WPF Global hotkeys in windowless .NET app