Python 创建一个新文件夹,并将其作为selenium中的默认下载

Python 创建一个新文件夹,并将其作为selenium中的默认下载,python,selenium,google-chrome,datetime,selenium-chromedriver,Python,Selenium,Google Chrome,Datetime,Selenium Chromedriver,我正在用python做一个selenium测试,我想用当前时间创建一个新目录,并将其作为默认下载文件夹。因此,每当我运行脚本时,默认的下载位置应该是当时创建的新目录,文件应该在那里下载 from selenium import webdriver from datetime import datetime import os today = datetime.now() current_dir = os.mkdir("/Users/Desktop/" + today.st

我正在用python做一个selenium测试,我想用当前时间创建一个新目录,并将其作为默认下载文件夹。因此,每当我运行脚本时,默认的下载位置应该是当时创建的新目录,文件应该在那里下载

from selenium import webdriver
from datetime import datetime
import os

today = datetime.now()

current_dir = os.mkdir("/Users/Desktop/" + today.strftime('%Y-%m-%d_%H-%M-%S'))
browser = webdriver.Chrome('/Users/Desktop/chromedriver')
chromeOptions = webdriver.ChromeOptions()
prefs = {"download.default_directory" : current_dir }
chromeOptions.add_experimental_option("prefs",prefs)

我正在运行上面的脚本,它创建了一个新的文件夹,但是默认的下载位置没有改变,因为文件仍然在下载chrome://Downloads. 是否有任何方法可以将新创建的文件夹更改为默认下载目录

这里的问题在于
os.mkdir
方法。Python中的
os.mkdir()
方法用于使用指定的数字模式创建名为path的目录。此方法不返回任何值

通过调试执行代码:

如果您查看上图,您可以看到
current_dir
是无类型的。
因此,该文件夹是在桌面上创建的,但是没有捕获到它的路径。

这里的问题在于
os.mkdir
方法。Python中的
os.mkdir()
方法用于使用指定的数字模式创建名为path的目录。此方法不返回任何值

调试代码的执行:

如果您查看上图,您可以看到
current_dir
是无类型的。
因此,文件夹是在桌面上创建的,但不会捕获其路径。

您需要在两个单独的代码行中创建文件夹名称和文件夹本身:

current_dir_name = "/Users/Desktop/" + today.strftime('%Y-%m-%d_%H-%M-%S')
os.mkdir(current_dir_name)
然后路径
current\u dir\u name
进入

chromeOptions = webdriver.ChromeOptions()
prefs = {"download.default_directory" : current_dir_name}
chromeOptions.add_experimental_option("prefs", prefs)

您需要在两个单独的代码行中创建文件夹名称和文件夹本身:

current_dir_name = "/Users/Desktop/" + today.strftime('%Y-%m-%d_%H-%M-%S')
os.mkdir(current_dir_name)
然后路径
current\u dir\u name
进入

chromeOptions = webdriver.ChromeOptions()
prefs = {"download.default_directory" : current_dir_name}
chromeOptions.add_experimental_option("prefs", prefs)

要使用当前时间创建新目录,您可以使用以下模块:

from selenium import webdriver
from datetime import datetime
import os

new_dir = "C:/Users/user-name/Desktop/" + datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
print(new_dir)
if not os.path.exists(new_dir):
    os.makedirs(new_dir) 

options = webdriver.ChromeOptions() 
options.add_experimental_option("prefs", {"download.default_directory" : new_dir})
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
  • 代码块:

    from datetime import datetime
    import os
    
    
    new_dir = "C:/Users/user-name/Desktop/" + datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
    print(new_dir)
    if not os.path.exists(new_dir):
        os.makedirs(new_dir) 
    
  • 控制台输出:

    C:\Users\user-name\Desktop\Debanjan\PyPrograms>new_directory.py
    C:/Users/user-name/Desktop/2020-08-04_18-01-46
    
    C:\Users\user-name\Desktop\Debanjan\PyPrograms>new_directory.py
    C:/Users/user-name/Desktop/2020-08-04_18-02-01
    
    C:\Users\user-name\Desktop\Debanjan\PyPrograms>new_directory.py
    C:/Users/user-name/Desktop/2020-08-04_18-02-05
    
  • 新创建目录的快照:


这个用例 现在,您可以实现相同的逻辑,在每次执行时创建一个新目录,并使用以下命令将其设置为默认下载位置:

from selenium import webdriver
from datetime import datetime
import os

new_dir = "C:/Users/user-name/Desktop/" + datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
print(new_dir)
if not os.path.exists(new_dir):
    os.makedirs(new_dir) 

options = webdriver.ChromeOptions() 
options.add_experimental_option("prefs", {"download.default_directory" : new_dir})
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')

参考文献 您可以在以下内容中找到一些相关的详细讨论:


要使用当前时间创建新目录,您可以使用以下模块:

from selenium import webdriver
from datetime import datetime
import os

new_dir = "C:/Users/user-name/Desktop/" + datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
print(new_dir)
if not os.path.exists(new_dir):
    os.makedirs(new_dir) 

options = webdriver.ChromeOptions() 
options.add_experimental_option("prefs", {"download.default_directory" : new_dir})
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
  • 代码块:

    from datetime import datetime
    import os
    
    
    new_dir = "C:/Users/user-name/Desktop/" + datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
    print(new_dir)
    if not os.path.exists(new_dir):
        os.makedirs(new_dir) 
    
  • 控制台输出:

    C:\Users\user-name\Desktop\Debanjan\PyPrograms>new_directory.py
    C:/Users/user-name/Desktop/2020-08-04_18-01-46
    
    C:\Users\user-name\Desktop\Debanjan\PyPrograms>new_directory.py
    C:/Users/user-name/Desktop/2020-08-04_18-02-01
    
    C:\Users\user-name\Desktop\Debanjan\PyPrograms>new_directory.py
    C:/Users/user-name/Desktop/2020-08-04_18-02-05
    
  • 新创建目录的快照:


这个用例 现在,您可以实现相同的逻辑,在每次执行时创建一个新目录,并使用以下命令将其设置为默认下载位置:

from selenium import webdriver
from datetime import datetime
import os

new_dir = "C:/Users/user-name/Desktop/" + datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
print(new_dir)
if not os.path.exists(new_dir):
    os.makedirs(new_dir) 

options = webdriver.ChromeOptions() 
options.add_experimental_option("prefs", {"download.default_directory" : new_dir})
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')

参考文献 您可以在以下内容中找到一些相关的详细讨论: