【问题标题】:How to create dynamic directory for downloads in Selenium Python?如何在 Selenium Python 中为下载创建动态目录?
【发布时间】:2022-10-19 05:03:42
【问题描述】:

我正在使用脚本在安装程序类中为下载创建一个新目录:

import time
from os import getenv
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from dotenv import load_dotenv
from Login_actions import Login_activities
from Insights_actions import Insights_activities
from Locators import Locators
import pytest, os
from datetime import datetime


class Test_Insights():

    @pytest.fixture()
    def test_setup(self):
        #make new directory for downloads
        new_dir = r"D:/Selenium/Insights/" + datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
        print(new_dir)
        if not os.path.exists(new_dir):
            os.makedirs(new_dir)

        #intiating chrome browser instance
        options=Options()
        options.add_argument('--start-maximized')
        # options.add_argument('--headless')
        prefs={"download.default_directory" : new_dir}
        options.add_experimental_option("prefs", prefs)
        self.driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)

        #load credentials
        load_dotenv()
        self.username = getenv("TOP_USERNAME")
        self.password = getenv("TOP_PWD")

        #exiting ceremonies
        yield
        self.driver.close()
        self.driver.quit()
        print("Test executed")

当我运行此脚本时,我收到以下错误:

[2220:21976:0915/144810.074:ERROR:util.cc(129)] Can't create base directory: C:\Program Files\Google\GoogleUpdater

如何让 selenium 创建下载的基本目录?
[更新代码更清晰]

【问题讨论】:

  • 这段代码对我来说工作得很好。你能提供完整的代码来检查吗?
  • 代码有点长。但是,创建此基本目录的目的是将所有下载的文件存储在单独的文件夹中。我的代码包含一个下载 excel/pdf 文件的单击操作。我正在使用webdriver-manager,我觉得我没有正确设置默认下载位置。你认为这可能是问题吗?
  • 更新您的 chrome 浏览器并尝试
  • 它已经更新了。我尝试重新安装浏览器,但不知何故以同样的错误结束

标签: python selenium mkdir


【解决方案1】:

我找到了解决办法。我手动创建了基本目录并解决了错误

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    • 2021-09-03
    • 2021-03-19
    • 2020-01-28
    相关资源
    最近更新 更多