摘要:最后在谷歌上找到一篇相關(guān)文章,大意是說這個(gè)是無解的,可能是系統(tǒng)安全的問題,對(duì)于這個(gè)解釋我還是比較認(rèn)可的,所以在上就不會(huì)提示。
背景
最近在使用selenium進(jìn)行自動(dòng)文件下載時(shí),突然出現(xiàn)了一個(gè)報(bào)錯(cuò):
下載進(jìn)行不下去了。
思路經(jīng)過各種谷歌、百度,均告訴我在要增加params,關(guān)閉瀏覽器安全選項(xiàng),配置如下:
chromeOptions = webdriver.ChromeOptions() prefs = {"profile.default_content_settings.popups": 0, "download.default_directory": path, "download.prompt_for_download": False, # "download.directory_upgrade": "true", "safebrowsing.enabled": True} chromeOptions.add_experimental_option("prefs", prefs)
事實(shí)證明,可能以前的版本是可行的,現(xiàn)在的真心不行。
上面配置重點(diǎn)是"safebrowsing.enabled": True。在MacOS的環(huán)境下,哪怕不配也是沒有問題的,Windows就不行了。
最后在谷歌上找到一篇相關(guān)文章,大意是說這個(gè)是無解的,可能是windows系統(tǒng)安全的問題,
對(duì)于這個(gè)解釋我還是比較認(rèn)可的,所以在mac上就不會(huì)提示。
Let’s start frankly: you can’t disable this feature. You can merely tweak the download settings in order to avoid it.https://windowsreport.com/typ...
那么問題來了,既然這樣,有什么曲線救國(guó)的辦法呢?
當(dāng)chromedriver彈出這個(gè)提示的時(shí)候,其實(shí)文件已經(jīng)下載完成,如下圖:
我們只需要將文件名修改為正確的名字和后綴即可(比如test.txt),直接無視警告提醒。思路如下:
找到最新下載的文件:通過對(duì)下載目錄的文件按照創(chuàng)建時(shí)間排序,找到最新的
判斷是否該文件是否已下載完成:通過判斷時(shí)間間隔前后該文件是否有大小的變化
結(jié)論根據(jù)上面思路,實(shí)現(xiàn)的關(guān)鍵代碼如下:
def sort_file(): global path dir_lists = os.listdir(path) dir_lists.sort(key=lambda fn: os.path.getmtime(os.path.join(path, fn))) return dir_lists[-1] def changeName(path, oldname, newname): old_path = os.path.join(path, oldname) new_path = os.path.join(path, newname + ".txt") if os.path.exists(old_path): if os.path.exists(new_path): os.remove(new_path) os.rename(old_path, new_path) print ("rename done!" + newname) else: print ("no file found!") def download(): ... temp_filename = sort_file() if u"未確認(rèn)" in temp_filename: temp_filesize_old = os.path.getsize(os.path.join(path, temp_filename)) while True: time.sleep(1) temp_filesize_new = os.path.getsize(os.path.join(path, temp_filename)) if temp_filesize_old == temp_filesize_new: changeName(path, temp_filename, ip) return else: temp_filesize_old = temp_filesize_new else: print(u"下載失敗")
需要注意的是,在文件重命名的時(shí)候,先檢查下文件是否已經(jīng)存在,先刪除,在創(chuàng)建。
以上。
如果有更好的思路,歡迎分享。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43401.html
Perplexica是一個(gè)開源的人工智能搜索工具,也可以說是一款人工智能搜索引擎,它深入互聯(lián)網(wǎng)以找到答案。受Perplexity AI啟發(fā),它是一個(gè)開源選擇,不僅可以搜索網(wǎng)絡(luò),還能理解您的問題。它使用先進(jìn)的機(jī)器學(xué)習(xí)算法,如相似性搜索和嵌入式技術(shù),以精細(xì)化結(jié)果,并提供附有來源的清晰答案。利用SearxNG保持最新和完全開源,Perplexica確保您始終獲取最新的信息,而不會(huì)損害您的隱私。特點(diǎn)本地L...
摘要:部署地域分布客戶在業(yè)務(wù)部署區(qū)域的選擇上也有不同,從客戶業(yè)務(wù)部署地域分布來看,主要集中在國(guó)內(nèi)的北京和上海,客戶通常會(huì)選擇購(gòu)買業(yè)務(wù)部署區(qū)域的,也有客戶采用多地域部署以提高業(yè)務(wù)的可用性,總體來看客戶的需求集中在防御攻擊防攻擊以及滿足合規(guī)需求。2021年UWAF累積為各個(gè)行業(yè)的客戶提供了1117個(gè)域名的高質(zhì)量訪問服務(wù),并提供安全防護(hù),有效的保護(hù)了客戶的數(shù)據(jù)信息與資產(chǎn)安全。2021年Web安全形勢(shì)依然...
檢查內(nèi)容是否用了ChatGPT,準(zhǔn)確率高達(dá)99.9%!OpenAI又左右互搏上了,給AI生成的文本打水印,高達(dá)99.9%準(zhǔn)確率抓「AI槍手」作弊代寫。其能夠精準(zhǔn)識(shí)別出論文或研究報(bào)告是否由ChatGPT撰寫,甚至能追溯其使用的具體時(shí)間點(diǎn)。它能專門用來檢測(cè)是否用ChatGPT水了論文/作業(yè)。早在2022年11月(ChatGPT發(fā)布同月)就已經(jīng)提出想法了。但是!這么好用的東西,卻被內(nèi)部雪藏了2年,現(xiàn)在都...
小編這篇文章,就給大家傳授一招技術(shù),python+selenium實(shí)現(xiàn)掃碼免密登錄,第一步是掃碼登錄,獲取cookies,然后保存到本地,為后面的免密登錄做準(zhǔn)備,那么具體操作步驟是什么呢?請(qǐng)各位讀者繼續(xù)往下看。 一、需求描述 web自動(dòng)化測(cè)試/python爬蟲往往會(huì)遇到掃碼登錄的情況,不是所有的網(wǎng)站都支持用戶密碼登錄,遇到這種掃碼登錄的情況會(huì)阻礙我們自動(dòng)化測(cè)試/爬蟲的進(jìn)行,所有為了可以...
小編寫這篇文章的一個(gè)主要目的,主要是來給大家做一個(gè)解答,解答的內(nèi)容是Python+Selenium,具體的一個(gè)內(nèi)容解釋是什么呢?比如,我們可以實(shí)現(xiàn)Geoserver批量發(fā)布Mongo矢量數(shù)據(jù),具體的一個(gè)內(nèi)容,下面就給大家詳細(xì)解答下。 首先,聲明一下,這里我完成的腳步屬于半自動(dòng)化的,我戲稱它為有監(jiān)督的半自動(dòng)化腳本。具體原因后面會(huì)詳細(xì)說明?! ∫?、安裝Selenium和ChromeDriver ...
閱讀 3092·2023-04-26 00:53
閱讀 3543·2021-11-19 09:58
閱讀 1705·2021-09-29 09:35
閱讀 3294·2021-09-28 09:46
閱讀 3873·2021-09-22 15:38
閱讀 2700·2019-08-30 15:55
閱讀 3020·2019-08-23 14:10
閱讀 3836·2019-08-22 18:17