본문 바로가기

전체 글

(49)
[UiPath] BreakTriggerScopeInArgument 지우기 오랜만에 새로운 프로젝트에 투입되었는데요BreakTriggerScopeInArgument 라는 인수가 자동으로 생겨버리는... 요상한 현상이 발생을 했습니다.더 어이없는 것은... 분명히 xaml을 열어서 확인하면 Argu에 아무것도 없지만 Invoke해서 Import Argu 창을 열면 생겨있는... 황당한... xaml에 Break Activity가 포함되는 경우 해당 Argu 자동 생성하는 UiPath 버그라고 판단됩니다.24.2 버전 이후로 버그 픽스됐다고 하는데 저는 애석하게도 23.4 버전 사용 중입니다.새로운 xaml 파일 생성해서 그대로 붙여넣기도 해봤지만 효과는 없었습니다...해결방법은 간단하지만 귀찮습니다.xaml파일을 텍스트 편집기로 열어주고 빨간 박스친 행을 지워주면 됩니다...저 ..
[UiPath] DataTable에서 Empty Value만 지우기 제목만 보면.. 무슨 소린가 하겠는데요 아래 예시와 같이 중간중간 섞여있는 Empty Value만 지우고 값을 당겨서 쓰고 싶습니다 생각나는 방법으로는 VBA로 해결하기와 DT조작해서 해결하기... 그 중에서 DT조작으로 해결해봤습니다. 작업은 For Each 안에서 하게 되는데요. 나중에 어떤 열에대한 작업을 하는 지 확인하는 지 편하도록 collection을 Excel Column Letter로 설정해주었습니다. 아래 소스를 사용하면 Z열 이후의 Column Letter도 Index로 쉽게 변환 가능합니다. intIdx = UiPath.Excel.Helpers.ExcelUtilities.ConvertColumnLetterToColumnIndex(i.ToString) - 1 다음으론 DT에서 작업할 열..
[UiPath] 내가 자주 쓰는 거.. 자주 안 쓰면 까먹어서 백업용으로 작성합니다....- DataTable Column을 Array로 만들기dtData.AsEnumerable().Select(Function (a) a.Field(Of String)("컬럼명").ToString).ToArray() - Enumerable에서 다른 Enumerable에 들어 있는 항목 찾기// enumMaster에 들어있는 모든 항목이 포함된 데이터를 찾음enumData.Where(Function(a) enumMaster.All(Function(b) a.ToString.Contains(b)))  // enumMaster에 들어있는 항목 중 한 개라도 포함된 데이터를 찾음enumData.Where(Function(a) enumMaster.Any(Function(..
[UiPath] xml 파일 다뤄보기 xml 파일을 다룰 일이 생겼습니다... 프로그램 세팅 정보를 xml 파일로 저장하고 있었는데 UI로 설정을 변경하기에는 에러가 너무 많이 날법한.. 구조였습니다... 암튼 여차저차 프로그램 세팅 정보를 로컬에 xml 형식으로 가지고 있는 것을 알아냈고, 그 xml 파일을 변경하려고 했습니다. 대충 이렇게 생긴 xml 파일이었는데 NAME, LANGUAGE, ID 값을 바꿔볼 것입니다.. 우선 xml 파일을 읽어준 뒤 Deserialize XML 액티비티를 사용하여 역직렬화를 해줍니다. 역직렬화는 특정 포맷 상태의 데이터를 다시 객체로 변환하는 것을 뜻한다고 합니다. Deserialize XML를 하면 XDocument 형태의 데이터 타입으로 반환되는데 Invoke Method로 변경하고 싶은 데이터를 ..
[UiPath] 음성인식으로 reCaptcha 풀어보기 - 2 1편입니다. 이어지는 내용은 없지만 암튼 시리즈입니다.https://deokpals.tistory.com/49 [UiPath] 음성인식으로 reCaptcha 풀어보기 - 1로그인할 때 종종 보이는 reCaptcha..친구가 reCaptcha가 있을 때 UiPath로 로그인하는 방법을 아냐고 물어봐서 호기심에 시작해봤슴다.체크 박스를 누르면 위의 화면이 표시되는데요저 상태로는 풀기deokpals.tistory.com------------------------------------------2편입니다..굳이 Python을 활용하는 이유는... Google Speech를 사용할 것이기 때문입니다.UiPath에도 Google Speech 패키지가 있지만 API키가 필요하고, 이걸 물어본 친구의 프로젝트에서는 A..
[UiPath] 음성인식으로 reCaptcha 풀어보기 - 1 로그인할 때 종종 보이는 reCaptcha..친구가 reCaptcha가 있을 때 UiPath로 로그인하는 방법을 아냐고 물어봐서 호기심에 시작해봤슴다.체크 박스를 누르면 위의 화면이 표시되는데요저 상태로는 풀기 힘들 것 같아 오디오로 푸는 방법을 선택했습니다.아주 간편하게....... Chrome Extension으로 푸는 방법이 있습니다.!헤드셋 버튼을 누르면 나오는 화면입니다.다운로드 버튼을 눌러서 오디오 파일(mp3)을 다운로드 받을 수 있습니다.처음은 .NET으로 시도해봤습니다.우선 준비할 것이있는데..1. 영어 언어팩 설치2. UiPath에서 System.Speech 패키지 설치 1. 영어 언어팩 설치reCaptcha의 음성이 영어로 나오기 때문에 인식을 위해선 깔아주어야 합니다.별 다른 설정을..
[UiPath] Duplicate Column 중복되는 컬럼 제거를 할 것입니다. DT에는 컬럼이 중복되어서 들어가지 않는데 무슨 소리냐 하신다면... Data Scraping을 하였는데 컬럼이 되어야 할 열에 중복되는 데이터가 들어가는 상황이었습니다. 근본적으로 Data Scraping이 왜 잘못되는지 파악한 후, 그것을 조치하는 게 맞겠지만.. 역시나 시간이 없고 간헐적으로 발생하는 문제라서 .. 임시방편으로 다음과 같이 해결하였습니다. 저의 경우에는 C, D, E 같은 데이터를 가진 열이 중복되어 들어가는 상황이었습니다. Data Scraping이 이상하게 되는 현상을 재현할 수 없어 위와 같이 데이터를 생성하였습니다. Invoke Code를 사용하여 해결하였고 코드는 아래와 같습니다. // Column Name을 담을 List를 생성 Dim ..
[UiPath] Activate가 안될 때 작업 중이던 Window가 다른 Window 뒤로 숨어버릴 때가 있습니다.Activate 액티비티도 먹지 않고 내부 셀렉터도 잡히지 않는 경우였는데요. (XPlatform)그럴 때 종종 사용하는 방법입니다.일반적인 경우에는 위의 Activate 액티비티 또는 Invoke Code 둘 중 하나만 사용해도 상관없습니다.근데 XPlatform은 둘 중 하나만 사용하면 제대로 되지 않아서 둘 다 사용했습니다.Invoke Code SourceFor Each procc As Process In Process.GetProcesses()    If procc.ToString.Contains("notepad") Then // 해당 코드의 notepad는 가져와야 하는 Window의 프로세스 명으로 대치        Co..