본문 바로가기
카테고리 없음

python selenium 한 번에 여러 파일 업로드 하기 multiple file upload

by 이승보 2021. 3. 2.
728x90

python과 selenium으로 인터넷에 한 번에 여러 파일 업로드를 시도하는데,

디렉토리 안에서 for문을 돌면서 파일을 올리려고 하니, 이미 올린 파일이 다음 파일을 올릴 때 중복으로 올라가는 현상이 있었다.

예를 든다면, 1번 파일 올리고, 2번 파일 올릴 때 1,2번이 올라가고, 3번파일 올리면 1,2,3번이 같이 올라가고...

원인은 모르겠으나 해결방법으로 아래와 같은 방법으로 send_keys() 함수로 보낼 때 한번에 보내야 한다는 걸 알게 됨

myElem.send_keys(“imagePath1” + \n + “imagePath2”)

stackoverflow.com/questions/59955049/selenium-python-duplicate-images

 

근데 나는 파일이 많았기 때문에 For문을 활용해서 send_keys()에 넣을 str 을 하나 만들어서 해결했다.

numOfFace = 0
allImgPathStr = ""
for file in fileList:
	numOfFace = numOfFace + 1
	if numOfFace > 60 :
		break;
	fullImgPATH = os.path.join(FACE_IMG_PATH + dir_name + '/', file)
	ext = os.path.splitext(fullImgPATH)[-1] 
    if ext == '.jpg':        
		allImgPathStr = allImgPathStr + fullImgPATH
		if file != fileList[-1] and numOfFace < 60 :
			allImgPathStr = allImgPathStr + ' \n '


btn_from_file.send_keys(allImgPathStr)
time.sleep(0.5)

 

 

728x90
반응형

댓글