크로미움 엔진이 캐시를 랜더마이즈하게 저장하여 제대로 안 지워진다는 말을 듣고 수정함
방법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
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만 체크해주자.
[테스트 해보니 앞에서 에러가 나더라도 뒤에 코드는 실행을 한다.]
- Network 폴더가 쿠키, 세션 저장 폴더로 변경돼서 여태 제대로 안 지워졌던 걸로 보임 [본문으로]
'RPA Uipath' 카테고리의 다른 글
Uipath BusinessLogic Sequence 단위 Framework (0) | 2021.06.23 |
---|---|
Uipath ComboBox Control에 대해 (0) | 2021.06.21 |
Uipath Job 화면을 Export하는 쿼리 (0) | 2021.06.17 |
Uipath DT간 비교 후 제3의 DT를 만들어 작업할 때 (0) | 2021.05.17 |
Uipath Tip RawData (0) | 2021.03.04 |