"无法为用户数据目录创建临时目录"不以管理员身份运行时出错

时间:2017-09-06 04:12:30

标签: python selenium selenium-webdriver selenium-chromedriver

当我以管理员身份运行时,我能够运行我的python selenium代码。如果我正常运行它会出现以下错误:

def changeset(%Role{}=role, %{users: [new_user1, new_user2]}) do
  role
  ...
  |> cast_assoc(:users)
end

这是我的代码:

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)

我使用的是python 3.6,Windows 10和selenium 3.5

8 个答案:

答案 0 :(得分:5)

根据我的经验,您可能会遇到下列情况之一 1)您的磁盘已满,因此没有足够的可用磁盘速度。尝试清空回收站或检查过度生成的临时文件并清除它们。

2)或者您已使用管理员权限安装了软件包,因此您的脚本没有适当的权限来执行。

3)TMP环境变量可能需要修改 右键单击计算机,然后单击属性 - >高级系统设置 - >环境变量 - >
“用户变量”,并将TEMP和TMP变量值更改为“c:\ temp”。

答案 1 :(得分:4)

我遇到了同样的错误,之前没有描述对我有帮助。 我以这种方式解决了这个问题:

  1. 在Windows的命令行中输入echo %temp%
  2. 它返回了C:\TEMP\2(为什么?)
  3. 所以我创建了这个文件夹,然后一切开始起作用

答案 2 :(得分:0)

在尝试了很多不同的方法之后,我决定降级Chrome网络驱动程序,它开始运作良好。

答案 3 :(得分:0)

具有讽刺意味的是,在使用ChromDriver 2.37 / Chrome 65的Windows 10上使用时,可以看到相同的错误消息。我的测试代码是在Eclipse实例中运行的。要解决这个问题,我必须启动Eclipse As an Administrator,一切正常。

答案 4 :(得分:0)

我遇到相同的错误,并且删除了C:\Users\user\AppData\Local\Temp中的所有文件。

此后一切正常。

答案 5 :(得分:0)

快速解决方案:

转到路径C:\Users\Administrator\AppData\Local\Temp,然后创建一个新文件夹。将此新文件夹重命名为2

这将创建丢失的%temp%文件夹。

答案 6 :(得分:0)

以管理员身份运行。它为我解决了这个问题。

答案 7 :(得分:0)

  1. 将Temp文件夹移至C:\ Windows \ Temp \
  2. 在系统变量中更新您的Temp / TMP
  3. 如果您使用的是批处理文件,请以管理员身份运行