Python FireFox配置文件复制失败
我使用Selenium来模拟用户,问题是当使用Selenium启动FireFox实例时,它会创建临时配置文件。所以为了保存Cookies,浏览我的模拟用户,我必须用临时配置文件覆盖我的原始firefox配置文件。因此,我在关闭驱动程序时编写了该函数,应复制配置文件:Python FireFox配置文件复制失败,python,selenium,firefox,geckodriver,shutil,Python,Selenium,Firefox,Geckodriver,Shutil,我使用Selenium来模拟用户,问题是当使用Selenium启动FireFox实例时,它会创建临时配置文件。所以为了保存Cookies,浏览我的模拟用户,我必须用临时配置文件覆盖我的原始firefox配置文件。因此,我在关闭驱动程序时编写了该函数,应复制配置文件: def closeDriver(self): time.sleep(2) mozprofile = self.driver.capabilities["moz:profile"] pri
def closeDriver(self):
time.sleep(2)
mozprofile = self.driver.capabilities["moz:profile"]
print(mozprofile)
try:
os.remove(mozprofile + "/parent.lock")
except:
pass
print('Admin?'+is_admin())
path = profilePath + self.profileName
if os.path.exists(mozprofile):
if os.path.exists(path):
shutil.rmtree(path)
time.sleep(0.5)
#shutil.copytree(mozprofile,path) #error 13
time.sleep(0.5)
shutil.copytree(mozprofile, path, ignore = shutil.ignore_patterns("parent.lock","lock", ".parentlock"))
time.sleep(3)
self.driver.quit()
logging.info("driver closed for profile:"+ self.profileName)
单独调用上述代码时没有问题,但在此代码中使用时:
while running:
ranNrUser= random.randint(0,len(users)-1)
# user = users[ranNrUser]
user = user5
userSimulation =thirdPartySimulation.simulation(user.useragent,user.profilename)
ranNrTerms = random.randint(0,len(user.searchTerms)-1)
searchTerms = user.searchTerms[ranNrTerms]
searchTermsItems = user.searchTermsItems[ranNrTerms]
ranNrRepeats = random.randint(3,15)
count = 0
print(type(user))
while ranNrRepeats> count:
ranNrSearchTerm = random.randint(0,len(searchTerms)-1)
ranNrSearchTermItems= random.randint(0,len(searchTermsItems)-1)
choice = random.randint(0,4)
if choice == 0:
userSimulation.useInstagramSearch(searchTerms[ranNrSearchTerm])
if choice ==1:
userSimulation.useEbaySearch(searchTermsItems[ranNrSearchTermItems])
if choice == 2:
userSimulation.searchAmazon(searchTermsItems[ranNrSearchTermItems])
if choice ==3:
userSimulation.searchBing(searchTerms[ranNrSearchTerm])
userSimulation.searchEcosia(searchTerms[ranNrSearchTerm])
count=count+1
userSimulation.closeDriver()
下面的回溯发生了,所以在这个过程中,甚至原始配置文件都被删除了,这是因为while循环,我尝试了timee.sleep for The shutil,这是windows的问题吗
Traceback (most recent call last):
File "C:\Users\User\PycharmProjects\YouTubePersonalisierung\main.py", line 141, in
performSession.performSession()
File "C:\Users\User\PycharmProjects\YouTubePersonalisierung\performSession.py", line 46, in performSession
userSimulation.closeDriver()
File "C:\Users\User\PycharmProjects\YouTubePersonalisierung\thirdPartySimulation.py", line 85, in closeDriver
shutil.copytree(mozprofile, path, ignore = shutil.ignore_patterns("parent.lock","lock", ".parentlock"))
File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\shutil.py", line 554, in copytree
return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\shutil.py", line 510, in _copytree
raise Error(errors)
shutil.Error: [('C:\\Users\\User\\AppData\\Local\\Temp\\rust_mozprofileBnVE2W\\cookies.sqlite-shm', 'C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\cookies.sqlite-shm', "[Errno 2] No such file or directory: 'C:\\\\Users\\\\User\\\\AppData\\\\Local\\\\Temp\\\\rust_mozprofileBnVE2W\\\\cookies.sqlite-shm'"), ('C:\\Users\\User\\AppData\\Local\\Temp\\rust_mozprofileBnVE2W\\cookies.sqlite-wal', 'C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\cookies.sqlite-wal', "[Errno 2] No such file or directory: 'C:\\\\Users\\\\User\\\\AppData\\\\Local\\\\Temp\\\\rust_mozprofileBnVE2W\\\\cookies.sqlite-wal'"), ('C:\\Users\\User\\AppData\\Local\\Temp\\rust_mozprofileBnVE2W\\favicons.sqlite-shm', 'C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\favicons.sqlite-shm', "[Errno 2] No such file or directory: 'C:\\\\Users\\\\User\\\\AppData\\\\Local\\\\Temp\\\\rust_mozprofileBnVE2W\\\\favicons.sqlite-shm'"), ('C:\\Users\\User\\AppData\\Local\\Temp\\rust_mozprofileBnVE2W\\favicons.sqlite-wal', 'C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\favicons.sqlite-wal', "[Errno 2] No such file or directory: 'C:\\\\Users\\\\User\\\\AppData\\\\Local\\\\Temp\\\\rust_mozprofileBnVE2W\\\\favicons.sqlite-wal'"), ('C:\\Users\\User\\AppData\\Local\\Temp\\rust_mozprofileBnVE2W\\places.sqlite-shm', 'C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\places.sqlite-shm', "[Errno 2] No such file or directory: 'C:\\\\Users\\\\User\\\\AppData\\\\Local\\\\Temp\\\\rust_mozprofileBnVE2W\\\\places.sqlite-shm'"), ('C:\\Users\\User\\AppData\\Local\\Temp\\rust_mozprofileBnVE2W\\places.sqlite-wal', 'C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\places.sqlite-wal', "[Errno 2] No such file or directory: 'C:\\\\Users\\\\User\\\\AppData\\\\Local\\\\Temp\\\\rust_mozprofileBnVE2W\\\\places.sqlite-wal'"), ('C:\\Users\\User\\AppData\\Local\\Temp\\rust_mozprofileBnVE2W\\webappsstore.sqlite-shm', 'C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\webappsstore.sqlite-shm', "[Errno 2] No such file or directory: 'C:\\\\Users\\\\User\\\\AppData\\\\Local\\\\Temp\\\\rust_mozprofileBnVE2W\\\\webappsstore.sqlite-shm'"), ('C:\\Users\\User\\AppData\\Local\\Temp\\rust_mozprofileBnVE2W\\webappsstore.sqlite-wal', 'C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\webappsstore.sqlite-wal', "[Errno 2] No such file or directory: 'C:\\\\Users\\\\User\\\\AppData\\\\Local\\\\Temp\\\\rust_mozprofileBnVE2W\\\\webappsstore.sqlite-wal'")
回溯(最近一次呼叫最后一次):
文件“C:\Users\User\PycharmProjects\youtubepersonaliesrung\main.py”,第141行,在
performSession.performSession()
文件“C:\Users\User\PycharmProjects\youtubepersonaliserung\performSession.py”,第46行,在performSession中
userSimulation.closeDriver()
文件“C:\Users\User\PycharmProjects\youtubepersonaliserung\thirdPartySimulation.py”,第85行,在closeDriver中
copytree(mozprofile,path,ignore=shutil.ignore_模式(“parent.lock”,“lock”,“.parentlock”))
文件“C:\Users\User\AppData\Local\Programs\Python\Python39\lib\shutil.py”,第554行,在copytree中
return _copytree(entries=entries,src=src,dst=dst,symlinks=symlinks,
文件“C:\Users\User\AppData\Local\Programs\Python\39\lib\shutil.py”,第510行,在\u copytree中
引发错误(错误)
shutil.Error:[('C:\\Users\\User\\AppData\\Local\\Temp\\rust\u mozprofileBnVE2W\\cookies.sqlite shm','C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\cookies.sqlite shm',“[Errno 2]没有这样的文件或目录:'C:\\\\Users\\\\\\\\User\\\\\\\\AppData\\\Local\\\\\\Temp\\\\\\\\\\\\\rust\u mozprofileBnVE2W\\\\\\\\\,('C:\\Users\\User\\AppData\\Local\\Temp\\rust\u mozprofileBnVE2W\\cookies.sqlite wal','C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\cookies.sqlite wal',“[Errno 2]没有这样的文件或目录:'C:\\\\Users\\\\\User\\\\\\User\\\\AppData\\\Local\\\\\\Temp\\\\\\\rust\u mozprofileBnVE2W\\\\\\\\\\\\cookies,('C:\\Users\\User\\AppData\\Local\\Temp\\rust\u mozprofileBnVE2W\\favicons.sqlite shm','C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\favicons.sqlite shm',“[Errno 2]没有这样的文件或目录:'C:\\\\\Users\\\\\User\\\\\User\\\\\\\AppData\\\\\\Local\\\\\\\\\\\Temp\\\\\\\\rust\u mozprofileBnVE2W\\\\\\\\\\favic,('C:\\Users\\User\\AppData\\Local\\Temp\\rust\u mozprofileBnVE2W\\favicons.sqlite-wal','C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\favicons.sqlite-wal',“[Errno 2]没有这样的文件或目录:'C:\\\\\\\Users\\\\\\\\User\\\\\\AppData\\\\\\Local\\\\\\\\\Temp\\\\\\\\\\rust\\u mozprofileBnVE2W\\\\\\\,('C:\\Users\\User\\AppData\\Local\\Temp\\rust\u mozprofileBnVE2W\\places.sqlite shm','C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\places.sqlite shm',“[Errno 2]没有这样的文件或目录:'C:\\\\\Users\\\\\\User\\\\\\\AppData\\\\Local\\\\\\Temp\\\\rust\u mozprofileBnVE2W\\\\places.sqlite shm'”,('C:\\Users\\User\\AppData\\Local\\Temp\\rust\u mozprofileBnVE2W\\places.sqlite wal','C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\places.sqlite wal',“[Errno 2]没有这样的文件或目录:'C:\\\\Users\\\\\User\\\\User\\\\AppData\\\Local\\\\\Temp\\\\\rust\u mozprofileBnVE2W\\\\places.sqlite wal'”,('C:\\Users\\User\\AppData\\Local\\Temp\\rust\u mozprofileBnVE2W\\webappsstore.sqlite shm','C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\webappsstore.sqlite shm',“[Errno 2]没有这样的文件或目录:'C:\\\\\Users\\\\\\\User\\\\\User\\\\AppData\\\\Local\\\\\\\\Temp\\\\\\\\rust\mozprofileBnVE2W\\\\\\webappsstore.sqlite shm'”,('C:\\Users\\User\\AppData\\Local\\Temp\\rust\u mozprofileBnVE2W\\webappsstore.sqlite-wal','C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/\\b81eyp7s.ThirdPartyUser5\\webappsstore.sqlite-wal',“[Errno 2]没有这样的文件或目录:'C:\\\\\Users\\\\\\User\\\\\\User\\\\\AppData\\\\\\Local\\\\\\\\Temp\\\\\\\\\rust\u mozprofileBnVE2W\\\\\\\