【发布时间】: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 浏览器并尝试
-
它已经更新了。我尝试重新安装浏览器,但不知何故以同样的错误结束