相対パスがうまく使えません。
解決したいこと
PythonでEdgeブラウザを操作するアプリを作っています。seleniumでEdgeのウェブドライバーを使ってブラウザを操作したいのですが、ドライバーのパスを指定する際に絶対パスで指定するとうまく動作するのですが、相対パスで指定した場合パスが間違ってしまっている様でうまく動作しません。(相対パスにしたい理由としてはpyinstallでアプリ化してほかの人も使えるようにしたいからです。)
おそらく初歩的な見落としや勘違いがあると思うのですが自分では見つけられません。
どうかお力をお貸しください。
絶対パスの場合うまくいく
webdriver_path = r"C:/system/webdriver/Edge/Version_114.0.1823.41/msedgedriver.exe"
if os.path.exists(webdriver_path):
print('ドライバーが存在します。')
else:
print('ドライバーが存在しません。')
#結果:ドライバーが存在します。
相対パスの場合うまくいかない
webdriver_path = r"webdriver/Edge/Version_114.0.1823.41/msedgedriver.exe"
if os.path.exists(webdriver_path):
print('ドライバーが存在します。')
else:
print('ドライバーが存在しません。')
#結果:ドライバーが存在しません。
補足
webdriver_managerを使うやり方はpyinstallでアプリ化したものが他のPCでエラーになってしまうため避けています。
試したこと
import os
# カレントディレクトリのパスを取得
current_directory = os.getcwd()
# ドライバーファイルの相対パス
webdriver_relative_path = "webdriver/Edge/Version_114.0.1823.41/msedgedriver.exe"
# ドライバーファイルの絶対パスを作成
webdriver_path = os.path.join(current_directory, webdriver_relative_path)
if os.path.exists(webdriver_path):
print('ドライバーが存在します。')
else:
print('ドライバーが存在しません。')
0