selenium+python 去除啟動的黑色cmd窗口方法
其實 selenium啟動窗口的時候就是 使用了subprocess.Popen 啟動的驅動程序的,只要在啟動的時候加上啟動不顯示窗口的參數(shù)即可。
下面魔改開始O(∩_∩)O哈哈~
修改代碼 位于 D:\Python35\Lib\site-packages\selenium\webdriver\common\service.py 主要是 Service類的start函數(shù)
def start(self): """ Starts the Service. :Exceptions: - WebDriverException : Raised either when it can't start the service or when it can't connect to the service """ try: cmd = [self.path] cmd.extend(self.command_line_args()) if 'win32' in str(sys.platform).lower(): ### 這里判斷是否是windows平臺 ### 在windows平臺上就隱藏窗口 startupinfo = subprocess.STARTUPINFO() startupinfo.dwFlags = subprocess.CREATE_NEW_CONSOLE | subprocess.STARTF_USESHOWWINDOW startupinfo.wShowWindow = subprocess.SW_HIDE else: startupinfo = None self.process = subprocess.Popen(cmd, env=self.env, close_fds=platform.system() != 'Windows', stdout=self.log_file, stderr=self.log_file,startupinfo=startupinfo) ### 啟動驅動 self.PID = self.process.pid ### 將cmd窗口的進程pid 保留 因為 窗口被隱藏了 所以在后續(xù)程序中必須考慮主控進程結束的時候必須結束掉 驅動cmd窗口進程 except TypeError: raise except OSError as err: if err.errno == errno.ENOENT: raise WebDriverException( "'%s' executable needs to be in PATH. %s" % ( os.path.basename(self.path), self.start_error_message) ) elif err.errno == errno.EACCES: raise WebDriverException( "'%s' executable may have wrong permissions. %s" % ( os.path.basename(self.path), self.start_error_message) ) else: raise except Exception as e: raise WebDriverException( "The executable %s needs to be available in the path. %s\n%s" % (os.path.basename(self.path), self.start_error_message, str(e))) count = 0 while True: self.assert_process_still_running() if self.is_connectable(): break count += 1 time.sleep(1) if count == 30: raise WebDriverException("Can not connect to the Service %s" % self.path)
注意 在前面先導入 sys包
因為隱藏了驅動cmd窗口 所以 結束程序的時候 一定要做殺死驅動cmd窗口的動作哦 !O(∩_∩)O!!
以上這篇selenium+python 去除啟動的黑色cmd窗口方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
基于Flask+websocket實現(xiàn)一個在線聊天室
在今天的互聯(lián)網(wǎng)時代,實時通信成為了許多應用和服務的核心特色,在本文中,我們將介紹如何使用 Flask 和 Websockets 通過 Flask-SocketIO 框架創(chuàng)建一個簡單的在線聊天室,感興趣的可以跟隨小編一起了解下2023-09-09基于Python+Pygame實現(xiàn)變異狗大戰(zhàn)游戲
只有你想不到,沒有我找不到寫不了的好游戲!這篇文章就來和大家分享一下如何基于Python+Pygame實現(xiàn)變異狗大戰(zhàn)游戲,感興趣的可以了解一下2023-03-03基于PyQt5實現(xiàn)SqlServer數(shù)據(jù)庫表導出Excel表格小工具
這篇文章主要為大家詳細介紹了PyQt5的應用案例之實現(xiàn)SqlServer數(shù)據(jù)庫表導出Excel表格小工具,文中的示例代碼講解詳細,需要的小伙伴可以參考一下2023-12-12Pytorch 實現(xiàn)自定義參數(shù)層的例子
今天小編就為大家發(fā)信息一篇Pytorch 實現(xiàn)自定義參數(shù)層的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08Python3實戰(zhàn)之爬蟲抓取網(wǎng)易云音樂的熱門評論
這篇文章主要給大家介紹了關于Python3實戰(zhàn)之爬蟲抓取網(wǎng)易云音樂熱評的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-10-10