成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

chromedriver之"此類型文件可能會(huì)損害您的計(jì)算機(jī)"提示的處理

wupengyu / 1402人閱讀

摘要:最后在谷歌上找到一篇相關(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

相關(guān)文章

  • 變革!Perplexica:AI驅(qū)動(dòng)問答搜索引擎

    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...

    UCloud小助手 評(píng)論0 收藏0
  • WAF-UWAFWeb安全防護(hù)報(bào)告

    摘要:部署地域分布客戶在業(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ì)依然...

    ernest.wang 評(píng)論0 收藏0
  • OpenAI開發(fā)ChatGPT“反作弊神器”,99.9%超高命中率,好消息:還沒上線

    檢查內(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)在都...

    UCloud小助手 評(píng)論0 收藏0
  • python+selenium實(shí)現(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)行,所有為了可以...

    89542767 評(píng)論0 收藏0
  • Python+Selenium實(shí)現(xiàn)在Geoserver批量發(fā)布Mongo矢量數(shù)據(jù)

      小編寫這篇文章的一個(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 ...

    89542767 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<