web-dev-qa-db-ja.com

管理者として実行していない場合、「ユーザーデータディレクトリの一時ディレクトリを作成できません」エラー

管理者として実行すると、python Seleniumコードを実行できます。通常どおり実行すると、次のエラーが発生します。

C:\startup>Python C:/startup/startupWebDriverScript.py    
Traceback (most recent call last):
  File "C:/startup/startupWebDriverScript.py", line 26, in connectGuest
    driver = webdriver.Chrome(chrome_options=chromeOptions,executable_path="C:/Python36/Chrome Webdriver/chromedriver.exe")
  File "C:\Python36\lib\site-packages\Selenium\webdriver\chrome\webdriver.py", line 69, in __init__
    desired_capabilities=desired_capabilities)
  File "C:\Python36\lib\site-packages\Selenium\webdriver\remote\webdriver.py", line 140, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Python36\lib\site-packages\Selenium\webdriver\remote\webdriver.py", line 229, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Python36\lib\site-packages\Selenium\webdriver\remote\webdriver.py", line 297, in execute
    self.error_handler.check_response(response)
  File "C:\Python36\lib\site-packages\Selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
Selenium.common.exceptions.WebDriverException: Message: unknown error: cannot create temp dir for user data dir 
  (Driver info: chromedriver=2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),platform=Windows NT 10.0.15063 x86_64)

これは私のコードです:

    chromeOptions = Options()
    chromeOptions.add_argument("--use-fake-ui-for-media-stream")
    chromeOptions.add_argument("--kiosk")
    chromeOptions.add_argument("--disable-notifications")
    chromeOptions.add_argument("--disable-infobars")
    driver = webdriver.Chrome(chrome_options=chromeOptions,executable_path="C:/Python36/Chrome Webdriver/chromedriver.exe")

私はpython 3.6、Windows10およびSelenium3.5を使用しています

7
Marcello S

私の経験からすると、次のような状況になっている可能性があります。
1)ディスクがいっぱいになっているため、十分な空きディスクがありません-ペース。ごみ箱を空にするか、過度に生成された一時ファイルを確認してクリアしてください。

2)または、管理者権限を使用してパッケージをインストールしたため、スクリプトに実行するための適切な権限がありません。

3)TMP環境変数の変更が必要な場合があります。
コンピューターを右クリックし、[プロパティ]-> [システムの詳細設定]-> [環境変数]-> [
"のユーザー変数"およびTEMPおよびTMP変数の値を "c:\ temp"に変更します。

6
Anil_M

同じエラーが発生しましたが、これまでに説明したことは何も役に立ちませんでした。私はそのような方法で問題を修正しました:

  1. Windowsのコマンドラインにecho %temp%と入力します
  2. C:\TEMP\2を返しました(なぜ???)
  3. だから私はこのフォルダを作成し、その後すべてが機能し始めました
5

迅速な解決策:

パスC:\Users\Administrator\AppData\Local\Tempに移動し、新しいフォルダーを作成します。この新しいフォルダの名前を2に変更します

これにより、欠落していた%temp%フォルダーが作成されます。

1
Adarsh Punj

同じエラーが発生し、C:\Users\user\AppData\Local\Temp内のすべてのファイルを削除しました。

その後、すべてがうまくいきました。

0
Jennosian

管理者として実行します。それは私にとって問題を解決しました。

0
Ramii

皮肉なことに、ChromDriver2.37を搭載したWindows10で使用した場合にも同じエラーメッセージが表示されます/ Chrome 65.テストコードはEclipseインスタンス内から実行されていました。解決するには、Eclipseを起動する必要がありましたAs an Administratorそしてすべてが正常に機能しました。

0
Rahul Jawale

さまざまなアプローチを試した後、Chrome Webドライバーをダウングレードすることにしましたが、問題なく動作し始めました。

0
Marcello S