ナチュログ管理画面 キャンプ キャンプ 関東 アウトドア&フィッシングナチュラムアウトドア用品お買い得情報

トレーラー牽いてどこ行こう

2012年春、小さなキャンピングトレーラーの購入を機にファミキャンデビューしました。
最近のキャンプ・キャンプ場はスゴ過ぎて戸惑うことばかりです♪

更新:Pyhon+Seleniumで作ったスクリプトがタスクスケジューラーで動かない

  

本家ブログを更新しました。→https://moyalog.caravan-life.com/entry/20210916/1631801178

Webスクレイピングに欠かせないPythonとSelenium。
それをpyinstallerでexe化して、タスクスケジューラーで自動実行させていたのですが、最近になって動いていないような感じがしたので調べてみました。

 

 

何が起きていた?

タスクスケジューラーでexeが動かない・・・
厳密には実行されているものの、exeに記した処理が実行されない(終了しない)ことが発生していました。
それまではうまく動いていたのですが、9月の上旬になって突然動かなくなってしまいました。

やっていた処理

SeleniumでWebスクレイピングをしています。

#Sampe Code: Sample.py
from selenium import webdriver
browser = webdriver.Chrome('chromedriver.exe')
browser.get('https://google.co.jp')
browser.quit()

これをpyinstallerでexe化します。

> pyinstall Sample.py ---onefile
created Sample.exe 

exe化されたSample.exeを、Azure上のWindows 10に配置し、タスクスケジューラーで実行させます。
いちいちVMにサインインしたくないので「ユーザーがログオンしているかどうかに関わらず実行する」をONにしておきます。
f:id:moyashinet:20210916221009p:plain
●最上位の特権(管理者権限)とするかどうかは実行する処理に応じます。

結局どうしたのか?

Google Cromeをヘッドレスモードで実行させました。
とオチは簡単ですが、そこに行きつくまでの切り分けがしんどかった…(徹夜)

修正後のコードはコチラです。

#Refurbished Sampe Code: Sample2.py
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
option = webdriver.ChromeOptions()
option.add_argument('--headless')
driver = webdriver.Chrome('chromedriver.exe', options=options)
browser.get('https://google.co.jp')
browser.quit()

その後のexe化、タスクの設定は同様です。

原因

9月上旬になって処理が止まってしまったタイミングでGoogle Chromeがバージョン93に更新されていました。
どうもそのバージョンで、クロームのバックグラウンド処理が封じられたようです(evidenceを探しましたが見つけ出せませんでしたが、実動ベースでの結論です)。

タスクスケジューラーには、2つの実行オプションがあります。
・ユーザーがログオンしているときのみ実行する(R)
・ユーザーがログオンしているかどうかにかかわらず実行する(W)

前者はフォアグラウンドプロセス、後者はバックグラウンドプロセスで動作します。
修正前での切り分けでもタスクの設定を前者として実行すると動き、後者として実行すると動きませんでした。

タスクの実行のためにいちいちVMにサインインするのは面倒極まりないので、バックグラウンドで動作するように対応する必要があります。

問題はクロームを表示させている(フォアグラウンド処理を要求する)ところにあるので、バックグラウンド処理させる必要があります。ヘッドレスモード(ブラウザ画面を表示させない)で実行したGoogle Chromeはバックグラウンドで動作することが分かり、修正してみたところアタリでした。

ここに至るまでに実行アカウントの問題か?(SYSTEMアカウントでもダメ)とか、pyinstallerの問題か?(python.exeでpyファイルを呼び出す)とかあーだこーだやってましたが、なんというか簡単なオチでびっくりでした。

結論

タスクスケジューラーで[ユーザーがログオンしているかどうかにかかわらず実行する]場合は、Headless Chromeを使いましょう!

というお話でした( *´艸`)





【9月ハピタス入会キャンペーン♪】

キャンプするなら絶対に【ハピタス】!!
ハピタスは業界最高水準のポイント還元率♪
普段のネットショッピングを、ブラウザのブックマークからハピタス経由にするだけで、2倍3倍…とポイントが貯まってオトク♪
物価高の今だからこそ必要な節約手段ですよ♪

9月の入会キャンペーンは過去最大!?
①こちらのリンクからハピタスに登録(9/30 23:59まで)
②9月30日までのキャンペーン期間中に掲載広告を1件以上利用し…
③10月31日までに合計1,000ポイントを貯めると…
④1,700ポイントがもらえます♪
⑤しかも300ポイント貰える新規登録者向けキャンペーンも開催中ヾ(≧▽≦)ノ
その買うを、もっとハッピーに。|ハピタス


--スポンサーリンク--



楽天でお買い物マラソン開催中~♪





















■キャンプするなら鍛造ペグ!
テントもタープもエリッゼステークで決まり!
ガッチリ固定して、強風にもビクともしないサイトを作れば家族も安心♪
エリッゼステークはカラフルな塗装でサイトでも失くしづらいです。


--スポンサーリンク--







[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

スノーピーク テーブル ジカロテーブル ST-050
価格:35200円(税込、送料無料) (2022/5/4時点)



[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Coleman(コールマン) ファイアーディスク 2000031235
価格:6039円(税込、送料別) (2022/5/4時点)





[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

コールマン Coleman スチールベルトジャグ/1.3ガロン (バターナッツ)品番:2000038472
価格:9980円(税込、送料別) (2022/5/4時点)

このブログの人気記事
更新:ヨドバシドットコムでの注文がスゴすぎた・・・
更新:ヨドバシドットコムでの注文がスゴすぎた・・・

更新:埼玉県八潮市にあるモンテール工場直売店に行ってきました
更新:埼玉県八潮市にあるモンテール工場直売店に行ってきました

更新:スノーピーク2021年カタログが到着。あのバーナーがカタログ落ち?
更新:スノーピーク2021年カタログが到着。あのバーナーがカタログ落ち?

更新:マキタの充電式保冷温庫「CW180DZ」を1か月使ってみた感想
更新:マキタの充電式保冷温庫「CW180DZ」を1か月使ってみた感想

更新:ゆるキャン△しまりんの椅子(チェア)に魅せられてAmazonでポチっと
更新:ゆるキャン△しまりんの椅子(チェア)に魅せられてAmazonでポチっと

同じカテゴリー(メール投稿)の記事画像
更新:年度末の忙しさと家族の入院と自転車操業の日々と
更新:卒業祝いで信州へ。春だ冬だのバタバタ旅行
更新:入社式と研修とごはんと…
更新:DIYで挑戦♪スーツケースの持ち手修理と予想外の結末
更新:春から冬への戻りっぷりが激しかった2日間
更新:こういうのがいいんだよ♪と思えたお昼ご飯
同じカテゴリー(メール投稿)の記事
 更新:年度末の忙しさと家族の入院と自転車操業の日々と (2025-04-04 22:55)
 更新:卒業祝いで信州へ。春だ冬だのバタバタ旅行 (2025-04-03 23:24)
 更新:入社式と研修とごはんと… (2025-04-03 00:23)
 更新:DIYで挑戦♪スーツケースの持ち手修理と予想外の結末 (2025-03-30 22:21)
 更新:春から冬への戻りっぷりが激しかった2日間 (2025-03-29 22:20)
 更新:こういうのがいいんだよ♪と思えたお昼ご飯 (2025-03-28 23:20)