關於python selenium 運行時彈出窗口問題
近期在做一個網頁代填項目時,用到瞭python的selenium,雖然實現瞭代填功能但是每次運行時都會彈出窗口,初始是python窗口,後續改進瞭又彈出瞭driver的窗口。在我看來是無傷大雅的,不過測試不接受,隻能改,經過瞭各種嘗試與搜索最後終算是較完美的解決瞭。
去除python窗口
項目初始是通過C++的process去調起python然後執行腳本的,後來發現會彈出python窗口。
使用的命令為
python.exe ie.py
效果如下
打開瞭頁面但是同時會出現一個python窗口。
解決方案
改用pythonw.exe。
在python.exe文件的同級目錄下同樣存在一個名為pythonw.exe的可執行文件,它與pyhon.exe的區別是pythonw.exe是無窗口的python可執行程序,運行後將在後臺運行腳本,不會出現窗口,也不會有輸出。
去除driver窗口
改用瞭pythonw.exe窗口後發現python窗口是不彈瞭,但是運氣chrome與ie的時候,會彈出對應的driver窗口。
效果如下:
解決方案
通過搜索發現瞭已經有博主通過實現自己的類讓窗口不再彈出,借鑒他的思路,因為項目可以直接提供python環境,所以我選擇瞭直接修改源碼的代碼實現。
具體如下:
修改selenium/webdriver/common/service.py。
在service.py的60行開始添加幾行代碼,修改啟動參數
si = subprocess.STARTUPINFO() si.dwFlags = subprocess.CREATE_NEW_CONSOLE | subprocess.STARTF_USESHOWWINDOW si.wShowWindow = subprocess.SW_HIDE
這樣修改瞭之後再運行就不會有彈窗出現瞭
ps:https://www.jianshu.com/p/8e278a776475 實現類繼承的博主
到此這篇關於python selenium 運行時彈出窗口的文章就介紹到這瞭,更多相關python selenium 彈出窗口內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python爬蟲之selenium庫的安裝及使用教程
- Python語言中的Selenium環境搭建
- Python爬蟲基礎初探selenium
- 教你如何使用Python selenium
- 全網最全python庫selenium自動化使用詳細教程