Web自動化技術選擇

我想學習自動化技術,我的訴求是:?

1.我想做自動報社保功能,先從我們自己的系統里面下載Excel,然后自動登錄到社保局的系統,自動填寫Excel,自動上傳Excel。?

2.可以自動的到社保局的系統里面查下數據,導出Excel。

使用的技術最好支持C#代碼,其次是python。 請幫我推薦最合適的技術方案。

其實是想做一個**“可落地成產品的自動化工具”**,而且你的三個需求跨度很大:

  1. 社保局自動化報表(下載 → 登錄 → 上傳 → 查詢)

  2. 數據庫查詢 。

  3. 要求 C# 優先,Python 次之

  4. 目標是穩定性、易用性、可擴展性。

經認真分析后,我覺得可以用分層架構 + 混合技術棧的方案,這樣既能滿足 C#,又能在需要的時候用 Python 的生態優勢。


一、總體技術方案

1. 自動化核心

我建議用 Playwright for .NET 而不是 Selenium:

  • 理由

    • Playwright 的等待機制、文件上傳、事件監聽比 Selenium 更現代化、穩定。

    • 支持無頭模式(不彈瀏覽器),可以做成服務后臺運行。

    • 對多瀏覽器(Chrome、Edge、Firefox)支持好,尤其在政務系統這種兼容性差的場景下,可以快速切換瀏覽器引擎。

  • 用途

    • 自動登錄社保系統(處理驗證碼)

    • 自動填寫表單、上傳 Excel

    • 自動導出社保數據

    • 自動登錄 CSDN、發布文章


2. 數據生成

  • 數據庫 → 文章生成
    用 C# 連接數據庫,取出數據,調用 AI API(OpenAI、DeepSeek、訊飛星火等) 生成文章內容。

  • 文章排版
    可以用 Markdown 模板(C# 模板引擎 RazorLight)生成格式化的文章,再由自動化腳本發布到 CSDN。


3. 產品化考慮

  • UI 界面

    • Windows 桌面端:WPF / WinForms

    • Web 后臺管理:Blazor Server

  • 任務調度

    • Quartz.NET(定時任務,定時執行自動化任務)

  • 賬號配置

    • 用戶在 UI 里配置社保局賬號、上傳模板路徑等

  • 日志 & 報錯

    • NLog/Serilog 記錄每次任務運行狀態,異常截圖存檔

  • 部署

    • 可打包成 EXE,直接在客戶電腦上運行

    • 可部署到云端(支持遠程執行)


二、針對你的三個需求的技術落地

1. 自動報社保

技術點

  • Playwright 自動化 → 登錄社保網站

  • 處理驗證碼(OCR + 打碼平臺)

  • 下載你系統里的 Excel(直接用 HTTP 請求,不一定需要自動化)

  • 上傳 Excel 到社保局

  • 填寫附加信息(如果需要)

  • 提交并截圖保存憑證

Playwright 上傳 Excel 示例(C#):

csharp

await page.SetInputFilesAsync("input[type='file']", @"C:\數據\社保報表.xls"); await page.ClickAsync("#submitBtn");


2. 查詢社保局數據并導出

技術點

  • Playwright 登錄社保局

  • 導航到數據查詢頁面

  • 自動選擇查詢條件

  • 點擊導出按鈕

  • 下載文件并存儲到指定目錄

  • 可選:自動解析 Excel,導入數據庫

Playwright 等待下載示例

csharp

var downloadTask = page.WaitForDownloadAsync(); await page.ClickAsync("#exportBtn"); var download = await downloadTask; await download.SaveAsAsync(@"C:\數據\社保數據.xls");


3. 數據庫生成文章并發布

技術點

  • C# 連接數據庫(Dapper 或 EF Core)

  • 生成文章:可用 AI API(例如 GPT-4)生成自然語言內容

  • Playwright 自動登錄

  • 自動填寫文章標題、內容、標簽并發布

Playwright 發布示例

csharp

復制編輯

await page.GotoAsync("https://www.baidu.com/creation/editor"); await page.FillAsync("textarea[placeholder='請輸入文章標題']", "自動化技術方案分享"); await page.FillAsync(".editor-content", "這是自動生成的文章內容..."); await page.ClickAsync("button:has-text('發布')");


三、為什么我建議 Playwright 而不是純 Selenium

對比項PlaywrightSelenium
穩定性高,自動等待頁面元素需手動寫等待邏輯
文件上傳原生支持 SetInputFiles依賴 SendKeys
事件監聽有(下載、彈窗、對話框)需要額外寫邏輯
瀏覽器兼容性Chrome、Edge、Firefox、WebKitChrome、Edge、Firefox、IE
并發性能好(多實例運行快)一般
代碼風格現代化 API偏舊


四、我建議的產品架構

css

[UI層] → WPF / Blazor Server ↓ [業務邏輯層] → 任務調度(Quartz.NET) / 數據生成(AI API) ↓ [自動化執行層] → Playwright for .NET ↓ [數據層] → 數據庫(SQL Server / MySQL) / Excel


五、Python 作為補充

雖然你的主語言是 C#,但有些環節用 Python 會更方便:

  • 驗證碼識別(Python OCR 比 .NET 成熟)

  • 批量 Excel 處理(Pandas 很強)

  • AI 接口調用(Python SDK 比 .NET 版本多)

可以用 Python 做獨立模塊,再用 C# 調用 Python 腳本(Process.Start 或 Python.NET)。


六、我的建議

  • 核心自動化 → Playwright for .NET

  • 數據生成 → C# + AI API

  • 驗證碼識別 → Python OCR(可嵌入 C#)

  • 產品化 → WPF + Quartz.NET + 日志記錄

  • 發布形式 → 本地客戶端 + 云端同步任務日志

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95006.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95006.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95006.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【celeba】-數據集的介紹

CelebA 數據集在 MTCNN 中的使用 1 數據集結構 CelebA_副本/ ├── Anno/ │ ├── list_bbox_celeba.txt # 邊界框 │ ├── list_landmarks_celeba.txt # 5 關鍵點 │ ├── list_attr_celeba.txt # 40 屬性 │ └── identity_CelebA.txt …

解讀 GPT-5:從“博士級 AI 專家”能力到 OpenAI API Key 獲取與實踐(提示工程→性能調優全流程)

GPT-5深度解讀:一位“博士級專家”的誕生與思考第一部分:新范式——化繁為簡的統一智能體 OpenAI的GPT-5,遠不止是一次常規的模型升級。它的發布,標志著一種顛覆性的架構思想變革:從過去那個讓用戶在各種“Turbo”、“…

8.3.1 注冊服務中心Etcd

etcd是什么 etcd 是一個分布式鍵值對存儲,設計用來可靠而快速的保存關鍵數據并提供訪問。通過分布式鎖, leader選舉保障可靠的分布式協同。 etcd 特點 完全復制,集群中的每個節點均擁有全量數據 強一致性,etcd通過raft共識算法…

異或循環冗余

異或代碼CRC8-ITU例程比較計算CRC16異或改進測試重點代碼 def fun_crc(datas):crc 0xFF poly 0x07 for i in range(len(datas)):for j in range(7, -1, -1):if (crc & 0x80) 0x80: crc (crc << 1) ^ polyelse:crc (crc << 1)if (datas[i] & 2**j):#值…

一款輕量、免費、無廣告,強大的演示工具,支持屏幕放大、涂鴉、截圖、錄屏

軟件介紹 ZoomIt&#xff0c;是一款輕量、免費、無廣告&#xff0c;強大的演示工具&#xff0c;支持屏幕放大、涂鴉、截圖、錄屏等。在系統托盤中不顯示的運行&#xff0c;可自定義快捷鍵&#xff0c;使用方面。 軟件基礎功能 屏幕放大&#xff1a;按下快捷鍵“Ctrl1”可進入…

從街亭失守看管理

最近看了《三國演義》&#xff0c;重溫了街亭失守事件&#xff0c;從馬謖最耀眼的登場來看就是&#xff0c;火燒藤甲兵計策和諸葛亮不謀而合&#xff0c;說明馬謖確實是有真材實料的&#xff0c;但在守街亭的任務上&#xff0c;諸葛亮也躊躇過又對先帝的遺言“馬謖不可重用”記…

全面解析 URL 重定向原理:從協議、實現到安全實踐

一、什么是 URL 重定向&#xff1f; URL 重定向&#xff08;URL Redirection&#xff09;是 Web 技術中一種將用戶請求的 URL 自動轉向另一個目標 URL 的機制。用戶可能完全不會察覺跳轉發生&#xff0c;因為瀏覽器在幕后完成了一切。 重定向通常用于以下場景&#xff1a; 網…

多任務 Transformer 模型的高效任務間注意力

抽象 在計算機視覺和更廣泛的深度學習領域&#xff0c;Transformer 架構已被公認為許多應用程序的最先進技術。然而&#xff0c;對于多任務學習&#xff0c;與單任務模型相比&#xff0c;可能需要更多的查詢&#xff0c;考慮到實際的硬件限制&#xff0c;它的多頭注意力通常接近…

QT的常用控件說明

文章目錄基本的代碼的模板Label控件font字體相關Button 控件CheckBox 控件Radio控件ComboBox控件LineEdit 控件基本的代碼的模板 class MainWindow(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs) # 調用父類初始化方法# 聲明窗口實例# 代…

5Python異常處理與模塊導入全指南

目錄 什么是異常&#xff1f; 異常的捕獲方法&#xff1a; 為什么要捕獲異常&#xff1f; 捕獲異常的語法&#xff1a; 異常的else和finally語法&#xff1a; 什么是異常&#xff1f; 異常就是程序運行過程中出現了錯誤&#xff0c;也就是我們常說的出bug了-。- 異常的捕…

區塊鏈密碼學簡介

區塊鏈密碼學簡介 一、對稱密碼算法 概述 對稱密碼算法的主要特點是使用相同的密鑰進行加密和解密。這類算法根據其加密方式大致可以分為兩類:流密碼和分組密碼。區塊鏈技術主要采用分組密碼。流密碼以數據流的形式逐位或逐字節加密,而分組密碼則將數據分成固定大小的塊進行…

GridKernalGateway

GridKernalGateway 是 Apache Ignite 架構中一個關鍵的安全與狀態管理組件&#xff0c;它的作用是 “在公共 API 和內部內核&#xff08;kernal&#xff09;之間建立安全、可控的訪問通道”。 我們可以把它理解為一個 “門衛 狀態哨兵”&#xff0c;確保外部調用不會在 Ignite…

MySQL索引、B+樹相關知識總結

MySQL索引、B樹相關知識匯總一、有一個查詢需求&#xff0c;MySQL中有兩個表&#xff0c;一個表1000W數據&#xff0c;另一個表只有幾千數據&#xff0c;要做一個關聯查詢&#xff0c;如何優化&#xff1f;1、為關聯字段建立索引2、小表驅動大表二、b樹和b樹的區別1、更高的查詢…

Java學習進階 -- 泛型的繼承和通配符及綜合練習

首先&#xff0c;泛型不具備繼承性&#xff0c;但是數據具備繼承性1.核心概念解析泛型不具備繼承性即使類型A是類型B的子類&#xff0c;Generic<A>也不是Generic<B>的子類這是Java泛型的類型安全設計&#xff0c;防止不安全的類型轉換數據具備繼承性泛型容器中的元…

如何實現在多跳UDP傳輸場景,保證單文件和多文件完整傳輸的成功率?

如何實現在多跳UDP傳輸場景&#xff0c;保證單文件和多文件完整傳輸的成功率&#xff1f; 一、前言 UDP&#xff08;User Datagram Protocol&#xff09;是一個輕量、無連接的傳輸協議&#xff0c;廣泛用于低延遲、高吞吐的應用中&#xff0c;如視頻流、實時游戲等。然而&…

【Spring IoC 核心實現類詳解:DefaultListableBeanFactory】

Spring IoC 核心實現類詳解&#xff08;源碼原理&#xff09;作為 Spring 的靈魂&#xff0c;IoC 容器&#xff08;Inversion of Control&#xff09;是整個框架的核心。 那么 IoC 的“心臟”到底是哪個類&#xff1f;它是怎么管理和裝配 Bean 的&#xff1f;本文將從源碼層面深…

為什么開啟JWT全局認證后,CSRF失敗會消失?

這是因為 JWT認證與CSRF校驗的設計邏輯完全不同&#xff0c;當全局啟用JWT認證后&#xff0c;Django的CSRF校驗會被“繞過”或不再生效&#xff0c;具體原因如下&#xff1a; 核心原因&#xff1a;JWT認證不依賴Cookie&#xff0c;無需CSRF保護 1. CSRF的作用場景 CSRF攻擊的前…

寶龍地產債務化解解決方案二:基于資產代幣化與輕資產轉型的戰略重構

一、行業背景與代幣化創新趨勢1.1 房地產債務危機現狀寶龍地產&#xff08;01238.HK&#xff09;截至2024年中債務總額達584億元&#xff0c;其中50.7%為一年內到期債務&#xff0c;但現金儲備僅89.47億元&#xff0c;短期償債覆蓋率不足30%。2025年2月境外債務重組計劃因債權人…

深信服GO面試題及參考答案(下)

Kubernetes 與容器 Kubernetes(簡稱 K8s)是容器編排平臺,而容器是輕量級的虛擬化技術,兩者緊密關聯但定位不同,容器是 K8s 管理的核心對象,K8s 為容器提供了完整的生命周期管理、擴展和運維能力。 容器技術(如 Docker)通過 Linux 命名空間(Namespace)、控制組(CGro…

RAGFoundry:面向檢索增強生成的模塊化增強框架

本文由「大千AI助手」原創發布&#xff0c;專注用真話講AI&#xff0c;回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我&#xff0c;一起撕掉過度包裝&#xff0c;學習真實的AI技術&#xff01; 1. 背景與動機 大型語言模型&#xff08;LLMs&#xff09;存在 知識靜…