
現在、Pythonを使用し下記コードを実行しているのですが、Pythonで実行をすると正しく動くのですが、exe化するとはじめの1回目が正しく動作しません。おそらくchromeのwebドライバーのダウンロードの部分の動作がちゃんと出来ていないのではないかと思いますが、exe化した時にも1回目から動くようにするにはどのようなコードに書き直せばよろしいでしょうか?
ど素人ながらの予測では、Pythonだと自動で現在の自分のPCにインストールされているchromeにあったwebドライバーがインストールされ、コードが正しく動作している。
exe化すると、その部分が正しく動作していない、と予想しております。
Pythonで一度実行してから、再度exeの方を実行すると動作する。
ご教示願います(コードは一部隠しております。)
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from webdriver_manager.chrome import ChromeDriverManager
from time import sleep
import subprocess
import os
import shutil
import glob
browser = webdriver.Chrome(ChromeDriverManager().install())
browser.implicitly_wait(10)
url = "【隠しております】"
browser.get(url)
browser.implicitly_wait(20)
overview = browser.find_element_by_id("SelDep")
select = Select(overview)
select.select_by_index(5)
sleep(0.5)
overview = browser.find_element_by_id("SelOgnzDV")
select = Select(overview)
select.select_by_index(1)
sleep(0.5)
overview = browser.find_element_by_id("SelOgnzCD")
overview.send_keys("711:FL")
sleep(0.5)
overview = browser.find_element_by_id("btn_ver3")
overview.click()
browser.implicitly_wait(20)
overview = browser.find_element_by_name("submitbutton")
overview.click()
sleep(2)
browser.quit()
path = r"【隠しております】"
subprocess.Popen(['explorer', path], shell=True)
list_of_files = glob.glob('【隠しております】')
latest_file = max(list_of_files, key=os.path.getctime)
shutil.copyfile(latest_file, "【隠しております】")
No.1ベストアンサー
- 回答日時:
質問にはexe化をどんなソフトでやっているか書かれてないですが、主流のPyInstallerですかね。
あれの作るexeってpython実行環境とスクリプトをまとめてアーカイブしたもので、実行時にはテンポラリに展開して、そこでスクリプトが動くという作りだったと思います。__file__でスクリプトのパスを得ようとしても正しく動かないとか。一方でwebドライバはスクリプトと同じフォルダにダウンロードされると思うので、1回目だけ上手く動かないのだとダウンロードしたファイルがpythonから見えるのに遅延があるか、python.exeを立ち上げ直さないと見えないとか。
webドライバのダウンロード先を制御できるなら外部の固定的なパスにしてそこを参照するとか。どこにするのか難しいですけど。
なお正しく動作しないの具体的な内容を書くともう少し回答の反応が良いかもしれません。例外が発生するようならその内容を。それとも正常に終了するけど結果が得られないのかな。
まずはお礼が大変遅くなり申し訳ございません。
またこのようなわかり辛いご質問にご回答頂きありがとうございます。
結局は自分のコードが原因でした。
お騒がせ致しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- その他(プログラミング・Web制作) pythonでのカーソル移動がずれる 2 2023/07/30 08:51
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- Visual Basic(VBA) excel vbaでselenium basic 3 2022/10/02 12:35
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Visual Studio 「AnyCpu」について
-
excel vbaから実行するexe実行...
-
「読み込み違反」が起きたとき...
-
JP1/File Transmission Server/...
-
VB6.0 exe作成時に実行時エラー...
-
Windows PowerShellでC言語を実...
-
ActiveX → VB を起動するとCre...
-
windows7で.exeのファイルに必...
-
VBAでコマンドプロンプトを呼び...
-
VisualStudioでC#が実行できない
-
google Drive のエラー
-
VBコンソールアプリケーション...
-
VBで「ファイル名を指定して実...
-
Designer.vbは直接コードをいじ...
-
意味不明の実行時エラーで困っ...
-
VBAでArrayListを使う為の「msc...
-
VB6.0で作成したexeファイルが...
-
perl ver*って何?
-
ManagementClassが見つからない。
-
vba 時間の引き算 例えば 15:00...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Visual Studio 「AnyCpu」について
-
excel vbaから実行するexe実行...
-
Windows PowerShellでC言語を実...
-
「読み込み違反」が起きたとき...
-
C++初心者です。 debug asserti...
-
VB6.0 exe作成時に実行時エラー...
-
mscorlib.dllの初回例外について
-
外部exe呼び出しの方法 ShellEx...
-
VisualStudioでC#が実行できない
-
CreateFile が ERROR_PATH_NOT_...
-
androidで.exeを実行できますか?
-
実行ファイル(.exe)が別のPC...
-
ActiveX → VB を起動するとCre...
-
C#VB、exeに埋め込んだexeの実行
-
ActiveDirectoryから値を取得
-
Format 関数のバグ?
-
Windows64BitOSでVB5.0のPG起動
-
JP1から起動したexeでhttpリク...
-
JP1/File Transmission Server/...
-
matlabで作成したdllをVBAで使...
おすすめ情報