關(guān)于python selenium 運行時彈出窗口問題
近期在做一個網(wǎng)頁代填項目時,用到了python的selenium,雖然實現(xiàn)了代填功能但是每次運行時都會彈出窗口,初始是python窗口,后續(xù)改進了又彈出了driver的窗口。在我看來是無傷大雅的,不過測試不接受,只能改,經(jīng)過了各種嘗試與搜索最后終算是較完美的解決了。
去除python窗口
項目初始是通過C++的process去調(diào)起python然后執(zhí)行腳本的,后來發(fā)現(xiàn)會彈出python窗口。
使用的命令為
python.exe ie.py
效果如下
打開了頁面但是同時會出現(xiàn)一個python窗口。
解決方案
改用pythonw.exe。
在python.exe文件的同級目錄下同樣存在一個名為pythonw.exe的可執(zhí)行文件,它與pyhon.exe的區(qū)別是pythonw.exe是無窗口的python可執(zhí)行程序,運行后將在后臺運行腳本,不會出現(xiàn)窗口,也不會有輸出。
去除driver窗口
改用了pythonw.exe窗口后發(fā)現(xiàn)python窗口是不彈了,但是運氣chrome與ie的時候,會彈出對應(yīng)的driver窗口。
效果如下:
解決方案
通過搜索發(fā)現(xiàn)了已經(jīng)有博主通過實現(xiàn)自己的類讓窗口不再彈出,借鑒他的思路,因為項目可以直接提供python環(huán)境,所以我選擇了直接修改源碼的代碼實現(xiàn)。
具體如下:
修改selenium/webdriver/common/service.py。
在service.py的60行開始添加幾行代碼,修改啟動參數(shù)
si = subprocess.STARTUPINFO() si.dwFlags = subprocess.CREATE_NEW_CONSOLE | subprocess.STARTF_USESHOWWINDOW si.wShowWindow = subprocess.SW_HIDE
這樣修改了之后再運行就不會有彈窗出現(xiàn)了
ps:https://www.jianshu.com/p/8e278a776475 實現(xiàn)類繼承的博主
到此這篇關(guān)于python selenium 運行時彈出窗口的文章就介紹到這了,更多相關(guān)python selenium 彈出窗口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用Python做的數(shù)學四則運算_算術(shù)口算練習程序(后添加減乘除)
這篇文章主要介紹了用Python做的數(shù)學四則運算_算術(shù)口算練習程序(后添加減乘除),需要的朋友可以參考下2016-02-02python神經(jīng)網(wǎng)絡(luò)使用Keras構(gòu)建RNN訓練
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)使用Keras構(gòu)建RNN網(wǎng)絡(luò)訓練,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>2022-05-05python使用minimize()?函數(shù)替代matlab的fmincon函數(shù)
這篇文章主要介紹了python使用minimize()函數(shù)替代matlab的fmincon函數(shù),在matlab中,fmincon函數(shù)可以用于求解帶約束的非線性多變量函數(shù)的最小值,即可以用來求解非線性規(guī)劃問題2022-09-09python3基于TCP實現(xiàn)CS架構(gòu)文件傳輸
這篇文章主要為大家詳細介紹了python3基于TCP實現(xiàn)CS架構(gòu)文件傳輸,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07使用Python操作Elasticsearch數(shù)據(jù)索引的教程
這篇文章主要介紹了使用Python操作Elasticsearch數(shù)據(jù)索引的教程,Elasticsearch處理數(shù)據(jù)索引非常高效,要的朋友可以參考下2015-04-04