国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

chromedriver之"此類型文件可能會損害您的計算機"提示的處理

wupengyu / 1387人閱讀

摘要:最后在谷歌上找到一篇相關文章,大意是說這個是無解的,可能是系統安全的問題,對于這個解釋我還是比較認可的,所以在上就不會提示。

背景

最近在使用selenium進行自動文件下載時,突然出現了一個報錯:

下載進行不下去了。

思路

經過各種谷歌、百度,均告訴我在要增加params,關閉瀏覽器安全選項,配置如下:

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)

事實證明,可能以前的版本是可行的,現在的真心不行。

上面配置重點是"safebrowsing.enabled": True。在MacOS的環境下,哪怕不配也是沒有問題的,Windows就不行了。

最后在谷歌上找到一篇相關文章,大意是說這個是無解的,可能是windows系統安全的問題,

對于這個解釋我還是比較認可的,所以在mac上就不會提示。

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

那么問題來了,既然這樣,有什么曲線救國的辦法呢?

當chromedriver彈出這個提示的時候,其實文件已經下載完成,如下圖:

我們只需要將文件名修改為正確的名字和后綴即可(比如test.txt),直接無視警告提醒。思路如下:

找到最新下載的文件:通過對下載目錄的文件按照創建時間排序,找到最新的

判斷是否該文件是否已下載完成:通過判斷時間間隔前后該文件是否有大小的變化

結論

根據上面思路,實現的關鍵代碼如下:

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"未確認" 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"下載失敗")

需要注意的是,在文件重命名的時候,先檢查下文件是否已經存在,先刪除,在創建。

以上。

如果有更好的思路,歡迎分享。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43401.html

相關文章

  • 變革!Perplexica:AI驅動問答搜索引擎

    Perplexica是一個開源的人工智能搜索工具,也可以說是一款人工智能搜索引擎,它深入互聯網以找到答案。受Perplexity AI啟發,它是一個開源選擇,不僅可以搜索網絡,還能理解您的問題。它使用先進的機器學習算法,如相似性搜索和嵌入式技術,以精細化結果,并提供附有來源的清晰答案。利用SearxNG保持最新和完全開源,Perplexica確保您始終獲取最新的信息,而不會損害您的隱私。特點本地L...

    UCloud小助手 評論0 收藏0
  • WAF-UWAFWeb安全防護報告

    摘要:部署地域分布客戶在業務部署區域的選擇上也有不同,從客戶業務部署地域分布來看,主要集中在國內的北京和上海,客戶通常會選擇購買業務部署區域的,也有客戶采用多地域部署以提高業務的可用性,總體來看客戶的需求集中在防御攻擊防攻擊以及滿足合規需求。2021年UWAF累積為各個行業的客戶提供了1117個域名的高質量訪問服務,并提供安全防護,有效的保護了客戶的數據信息與資產安全。2021年Web安全形勢依然...

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

    檢查內容是否用了ChatGPT,準確率高達99.9%!OpenAI又左右互搏上了,給AI生成的文本打水印,高達99.9%準確率抓「AI槍手」作弊代寫。其能夠精準識別出論文或研究報告是否由ChatGPT撰寫,甚至能追溯其使用的具體時間點。它能專門用來檢測是否用ChatGPT水了論文/作業。早在2022年11月(ChatGPT發布同月)就已經提出想法了。但是!這么好用的東西,卻被內部雪藏了2年,現在都...

    UCloud小助手 評論0 收藏0
  • python+selenium實現掃碼免密登錄,代碼如下

      小編這篇文章,就給大家傳授一招技術,python+selenium實現掃碼免密登錄,第一步是掃碼登錄,獲取cookies,然后保存到本地,為后面的免密登錄做準備,那么具體操作步驟是什么呢?請各位讀者繼續往下看。   一、需求描述   web自動化測試/python爬蟲往往會遇到掃碼登錄的情況,不是所有的網站都支持用戶密碼登錄,遇到這種掃碼登錄的情況會阻礙我們自動化測試/爬蟲的進行,所有為了可以...

    89542767 評論0 收藏0
  • Python+Selenium實現在Geoserver批量發布Mongo矢量數據

      小編寫這篇文章的一個主要目的,主要是來給大家做一個解答,解答的內容是Python+Selenium,具體的一個內容解釋是什么呢?比如,我們可以實現Geoserver批量發布Mongo矢量數據,具體的一個內容,下面就給大家詳細解答下。  首先,聲明一下,這里我完成的腳步屬于半自動化的,我戲稱它為有監督的半自動化腳本。具體原因后面會詳細說明。  一、安裝Selenium和ChromeDriver ...

    89542767 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<