GCPのdebian上でseleniumのheadless firefoxを試みる
結論を言いますとうまくいきませんでした.
手元のMac上なら動くが,GCP上ではうまく行かず.
以下,やったことの記録.
以下のサイトに習い,geckodriveをインストール.
https://a-zumi.net/selenium-ubuntu-geckodriver/
https://github.com/mozilla/geckodriver/releases
firefoxをインストール.
sudo apt-get install firefox-esr
他にも,mozillaのリポジトリを追加して最新版を追加したり,debファイルを引っ張ってきて,旧版をインストールしたりしたが,結果的にはあまり意味なかった.
python3で以下のように実行.
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.add_argument('-headless')
driver = webdriver.Firefox(firefox_options=options)
次のようなエラーが出る.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/bitnami/python/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 170, in __init__
keep_alive=True)
File "/opt/bitnami/python/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 156, in __init__
self.start_session(capabilities, browser_profile)
File "/opt/bitnami/python/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 251, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/opt/bitnami/python/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 320, in execute
self.error_handler.check_response(response)
File "/opt/bitnami/python/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities
試行錯誤の上,capabilities の marionette を False にするとcapability のエラーが無くなった.
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.firefox.options import Options
options = Options()
options.add_argument('-headless')
desiredcapabilities = DesiredCapabilities.FIREFOX.copy()
desiredcapabilities['marionette'] = False
driver = webdriver.Firefox(capabilities=desiredcapabilities, firefox_options=options)
しかし,まだ以下のようなエラーが出る.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/bitnami/python/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 187, in __init__
self.binary, timeout)
File "/opt/bitnami/python/lib/python3.6/site-packages/selenium/webdriver/firefox/extension_connection.py", line 52, in __init__
self.binary.launch_browser(self.profile, timeout=timeout)
File "/opt/bitnami/python/lib/python3.6/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 73, in launch_browser
self._wait_until_connectable(timeout=timeout)
File "/opt/bitnami/python/lib/python3.6/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 104, in _wait_until_connectable
"The browser appears to have exited "
selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.
以下のようにすると,geckodriverのログを出力できる.
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
desiredcapabilities = DesiredCapabilities.FIREFOX.copy()
desiredcapabilities['marionette'] = False
binary = FirefoxBinary(log_file=open("geckodriver.log", "wb"))
binary.add_command_line_options('-headless')
driver = webdriver.Firefox(capabilities=desiredcapabilities, firefox_binary=binary)
ログを見ると,以下のような内容.
XPCOMGlueLoad error for file /usr/lib/firefox-esr/libmozgtk.so:
/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined symbol: FcConfigReference
Couldn't load XPCOM.
このエラーがどうしても解決できずに断念.
chromeに切り替えることにした.
2018/10/8 追記
Chromeに変えても同様の問題が発生し,散々色々やった挙げ句,解決せず途方に暮れた.
結局,vmをbitnamiのdjangostacでやっていたのが問題だったようで,vmをbitnamiを使わず新たに立ち上げ直してやってみたらすんなり行って,拍子抜けした.
2018/09/30
2018/07/22
スフレパンケーキのレシピ
2人分4枚の分量
卵黄 2個
卵白 2個
砂糖 10g
強力粉 30g
ベーキングパウダー 2g
牛乳 30g
レシピ
1) 卵白と砂糖以外の材料を混ぜる.
2) 卵白と砂糖をかなり固めのメレンゲにする.
3) 1)に2)を少し混ぜて,混ぜたら全部混ぜる.
4) 弱火に蓋をして,焼く.
卵黄 2個
卵白 2個
砂糖 10g
強力粉 30g
ベーキングパウダー 2g
牛乳 30g
レシピ
1) 卵白と砂糖以外の材料を混ぜる.
2) 卵白と砂糖をかなり固めのメレンゲにする.
3) 1)に2)を少し混ぜて,混ぜたら全部混ぜる.
4) 弱火に蓋をして,焼く.
2018/06/12
latex2rtf で LaTeX 原稿を Word に変換する方法.
latex2rtfが素晴らしい.
数式は画像に変換してくれる.
凝った LaTeX 原稿だといろいろとエラーが出たりするので,プレーンな jarticle などにコピペして,(日本語を含む場合)以下の行を追加.
\usepackage[utf8]{inputenc}
そして,以下のコマンドを実行.
latex2rtf -M12 -D 600 <ファイル名>.tex
これだけで,<ファイル名>.rtf というファイルが完成.
Macのデフォルトのrtfのエディタだと,数式等が表示されないが,Word などで開くと表示されている.
M12オプションは,すべての数式を画像化するオプション.
M6とすると別立ての数式のみ画像化.
M3または無指定で,画像化は行わない.
Dオプションは数式の画像化のdpiを指定する.
デフォルトは300.
よく確認すると,何故かインラインの数式の前にドットが入ってしまう問題があったので,その治し方も追記.
変換中に以下のようなエラーが出ていることを発見.
Rendering '$k$'/usr/local/bin/latex2png: line 263: identify: command not found
/usr/local/bin/latex2png: line 264: [: -gt: unary operator expected
identifyはimagemagickと一緒に入るものらしい.
imagemagickは入っているはずだが,とりあえずbrewで再インストールしようとしたが,どうやらbrew以外でインストールしていたようなので,
brew link --overwrite imagemagick
数式は画像に変換してくれる.
凝った LaTeX 原稿だといろいろとエラーが出たりするので,プレーンな jarticle などにコピペして,(日本語を含む場合)以下の行を追加.
\usepackage[utf8]{inputenc}
latex2rtf -M12 -D 600 <ファイル名>.tex
これだけで,<ファイル名>.rtf というファイルが完成.
Macのデフォルトのrtfのエディタだと,数式等が表示されないが,Word などで開くと表示されている.
M12オプションは,すべての数式を画像化するオプション.
M6とすると別立ての数式のみ画像化.
M3または無指定で,画像化は行わない.
Dオプションは数式の画像化のdpiを指定する.
デフォルトは300.
よく確認すると,何故かインラインの数式の前にドットが入ってしまう問題があったので,その治し方も追記.
変換中に以下のようなエラーが出ていることを発見.
Rendering '$k$'/usr/local/bin/latex2png: line 263: identify: command not found
/usr/local/bin/latex2png: line 264: [: -gt: unary operator expected
identifyはimagemagickと一緒に入るものらしい.
imagemagickは入っているはずだが,とりあえずbrewで再インストールしようとしたが,どうやらbrew以外でインストールしていたようなので,
brew link --overwrite imagemagick
で上書きしたら治った.
2018/06/10
djangoで特定のappのデータベースだけリセット
全体をリセットする場合は,
manage.py flush
一部のappだけのときは
migrate app zero
migrate app
でできるっぽい.
manage.py flush
一部のappだけのときは
migrate app zero
migrate app
でできるっぽい.
2018/05/16
Mac Sierra で XQuartz 2.7.11 にアップデートしたら,XQuartz が起動しなくなった問題の解決法
Mac Sierra で XQuartz 2.7.11 にアップデートしたら,XQuartz が起動しなくなった.
Inkscape が使えなくて困る.
2.7.10 を入れ直したらとりあえず解決.
Inkscape が使えなくて困る.
2.7.10 を入れ直したらとりあえず解決.
MacのOfficeでPDF出力時の挿入画像の解像度が異常に低くなる問題の解決法
MacのOfficeをアップデートしたら,PDF出力時の挿入画像の解像度が異常に低くなるようになってしまった.
TeXclipからいつも通りPNGに出力して,その画像をパワポに挿入,スライド全体をPDF出力したら,PNG部分だけ異常に解像度が悪い.
Excelの方もグラフに挿入したPNG画像が同様の症状.
試行錯誤の結果,パワポについては,図の書式設定から,解像度に合わせてサイズを調整するにチェックを入れて,解像度を高めに設定すれば良いことがわかった.
Excelについては,該当する設定が見つからなかったので,さらに試行錯誤.
TeXclipからEPSで出力して,PDFに変換してから挿入すれば良いことがわかった.
2018/03/11
美味しいポークソテーのレシピメモ
美味しいポークソテーのレシピメモ.
豚肉の筋を落とし,塩胡椒,少しの小麦粉をする.
豚肉を多めの油で片面をしっかり焼く.
裏返して,蓋をし,火を止めて5分放置.
ウイスキー50cc,醤油小さじ2,バター15gを加えて,フランベ.
蓋をして消化して,蓋を取る.
適度にソースを煮詰めて,乳化させれば完成.
肉の量が増えても,あまり量を増やす必要はなし.
豚肉の筋を落とし,塩胡椒,少しの小麦粉をする.
豚肉を多めの油で片面をしっかり焼く.
裏返して,蓋をし,火を止めて5分放置.
ウイスキー50cc,醤油小さじ2,バター15gを加えて,フランベ.
蓋をして消化して,蓋を取る.
適度にソースを煮詰めて,乳化させれば完成.
肉の量が増えても,あまり量を増やす必要はなし.
登録:
投稿 (Atom)