크로미움 엔진이 캐시를 랜더마이즈하게 저장하여 제대로 안 지워진다는 말을 듣고 수정함

방법1. 크롬을 아무 사이트로나 켜고 ctrl+shift+del을 눌러줌 => 캐시 삭제 클릭

방법2. 크롬을 켤 때 캐시 저장할 target 폴더를 파라미터로 지정 [invoke code나 start process 등 이용]

 

 

 

++ 추가 확인 이슈 : 간헐적으로 쿠키가 제대로 지워지지 않는 케이스를 발견함

++ 하위 폴더까지 강제 삭제 하도록 -recurse -force 옵션 추가

++ Sessions, Session Storage, Network 폴더 추가[각주:1]

 

보통 세션, 쿠키가 꼬이는 경우 프레임워크의 init단에 끼워넣을 수 있다.

최근 프로젝트 사이트에서 IE의 EOM종료로 인해 크롬으로 많이 갈아타는 추세기 때문에

크롬을 사용하는 사이트에서는 프레임워크의 killprocess 하는 소스 다음 부분에 쓰길 권장한다.

Powershell 코드를 쓰는 게 가장 베스트로 보여 갈무리 한다.

 

원본 코드 : https://forum.uipath.com/t/clear-cache-in-chrome-powershell-or-cmd-prompt/195110

 

Clear Cache in Chrome - Powershell or Cmd Prompt

Gurus, I have a process that runs for a bit and unfortunately I see chrome crashing with “Aw Snap”. In order to overcome this issue I am trying to clear the cache periodically via a Powershell or cmd line. I don’t want to use the screen so it appears

forum.uipath.com

 

1. Invoke PowerShell Activity를 가져옴

 

2. IsScript 체크

 

3. Type Argument를 String으로 변경

 

4. 스크립트에 다음과 같은 코드를 넣어줌 [각각 다른 액티비티로]

"taskkill.exe /im chrome.exe /f"+Environment.NewLine+"Start-Sleep -Seconds 2"

"$Items = @('Archived History','Cache\*','Network\*','Cookies-Journal\*','Cookies','History','Login Data','Top Sites','Visited Links','Web Data','Sessions\*','Session Storage\*')"+Environment.NewLine+"$Folder = ""$($env:LOCALAPPDATA)\Google\Chrome\User Data\Default"""+Environment.NewLine+"$Items | % { if (Test-Path ""$Folder\$_"") {Remove-Item ""$Folder\$_"" -Recurse -Force}}"

 

[내용을 보면 크롬 기본 유저의 쿠키 및 캐시, 방문기록들을 지워주는 코드이다. 멀티 프로필을 쓴다면 Default 부분을 변수로 사용해 지우면 된다.]

invoke powershell을 하면 크롬이 안 켜져 있는 경우 taskkill에 대해 에러로 인식하기 때문에 그냥 kill은 따로 앞쪽에 하도록 하자.

아니면 가운데 Environment.NewLine 넣고 하나의 액티비티로 하고 Continue On Error만 체크해주자.

[테스트 해보니 앞에서 에러가 나더라도 뒤에 코드는 실행을 한다.]

 

  1. Network 폴더가 쿠키, 세션 저장 폴더로 변경돼서 여태 제대로 안 지워졌던 걸로 보임 [본문으로]

+ Recent posts