커뮤니티 버전 21.10.4 버전에서는 iframe 내부의 selector를 가져오나
Studio 버전 2020.10.2 버전에서는 동일 uiautomation 버전을 사용함에도 가져올 수 없는 모습을 보였다.
해서 Uipath 측에 문의했더니 21.10 에서 셀렉터를 가져오는 방식이 달라서 그런걸 수 있다는 답변을 받았다.
더 안쪽으로 들어가서 값을 가져오고자 한다면 Studio를 업데이트 해야 한다는것.
그런 대공사를 하기엔 너무 시간이 소요되니 어쩔 수 없이 Selenium webdriver 를 사용해서 파이썬으로 invoke 하여 해당 부분을 작업했다.
거기까진 좋았는데 문제는 해당 프로젝트를 돌릴때마다 Chromedriver의 Console 창이 계속 뜨는 문제가 발생했다.
Bot이 작업할때마다 화면을 가리고 남아있어 어떻게 하면 해결 할 수 있을까 싶었을때 블로그를 통해 해결 방법을 찾았다.
파이썬을 설치한 경로 하위에 Lib\site-packages 폴더로 가면 pip로 설치한 파이썬 라이브러리들이 위치하고 있다.
크롬드라이버 콘솔 셋팅은 그 하위 경로 내 selenium\webdriver\common 경로로 내 service.py라는 파일을 수정 하면 된다.
내 경우 아래 경로에서 해당 파일을 찾을 수 있었다.
C:\Users\[사용자명]\AppData\Local\Programs\Python\Python36\Lib\site-packages\selenium\webdriver\common
service.py 라는 파일에서 아래 부분을 찾은 후
try:
cmd = [self.path]
cmd.extend(self.command_line_args())
self.process = subprocess.Popen(cmd, env=self.env,
close_fds=platform.system() != 'Windows',
stdout=self.log_file,
stderr=self.log_file,
stdin=PIPE)
subprocess.Popen 함수의 마지막 인자로 creationflags=0x08000000를 아래와 같이 삽입해 주면 Chromedriver의 콘솔창이 뜨지 않게 된다.
try:
cmd = [self.path]
cmd.extend(self.command_line_args())
self.process = subprocess.Popen(cmd, env=self.env,
close_fds=platform.system() != 'Windows',
stdout=self.log_file,
stderr=self.log_file,
stdin=PIPE,
creationflags=0x08000000)
참고 사이트 :
https://m.blog.naver.com/kibani/221921810439 (도와주셔서 감사합니다)
'Uipath' 카테고리의 다른 글
Uipath - Transaction item 수동 등록 (0) | 2023.02.20 |
---|---|
Uipath - Form (0) | 2023.01.31 |
Uipath - Try/Catch , Throw , Rethrow (0) | 2022.10.17 |
구글 스프레드 시트 - Apps Script 사용 한 테두리 긋기 (0) | 2022.09.26 |