본문 바로가기

Uipath

Python Selenium Webdriver 사용시 chromedriver의 console 창 제거 방법

커뮤니티 버전 21.10.4 버전에서는 iframe 내부의 selector를 가져오나

Studio 버전 2020.10.2 버전에서는 동일 uiautomation 버전을 사용함에도 가져올 수 없는 모습을 보였다. 

 

21.10.4 에서는 안쪽까지 잘 가져오는데
2020.10.2 에서는 안쪽으로 더 들어갈 수 없다 ㅠ

해서 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  (도와주셔서 감사합니다) 

 

파이썬(python) selenium으로 chromedriver console창 없이 chrome 띄우기

파이썬 selenium webdriver를 이용해서 chrome 브라우저를 띄우게 되면 브라우저가 뜨면서 chromedriver의 ...

blog.naver.com