{"id":24772400,"url":"https://github.com/ziyi2/chrome-plugin-selenium","last_synced_at":"2026-03-03T22:01:53.629Z","repository":{"id":98890018,"uuid":"90431327","full_name":"ziyi2/chrome-plugin-selenium","owner":"ziyi2","description":"chrome插件,前端自动化测试工具.","archived":false,"fork":false,"pushed_at":"2017-05-06T02:25:19.000Z","size":91,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-24T01:38:05.549Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ziyi2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-05-06T02:16:37.000Z","updated_at":"2025-08-15T06:33:23.000Z","dependencies_parsed_at":"2023-03-07T15:46:37.956Z","dependency_job_id":null,"html_url":"https://github.com/ziyi2/chrome-plugin-selenium","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ziyi2/chrome-plugin-selenium","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziyi2%2Fchrome-plugin-selenium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziyi2%2Fchrome-plugin-selenium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziyi2%2Fchrome-plugin-selenium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziyi2%2Fchrome-plugin-selenium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ziyi2","download_url":"https://codeload.github.com/ziyi2/chrome-plugin-selenium/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziyi2%2Fchrome-plugin-selenium/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30063359,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T18:21:05.932Z","status":"ssl_error","status_checked_at":"2026-03-03T18:20:59.341Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-29T04:02:04.139Z","updated_at":"2026-03-03T22:01:53.623Z","avatar_url":"https://github.com/ziyi2.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# chrome-plugin-selenium\n\n## 介绍\n\n这是一个前端自动化测试工具,`Web Browser Automation`.\n\n## 结构\n\n``` javascript\n.\n├── css                                   # 样式目录\n├── html                                  # popup页面\n├── image                                 # 图标目录\n├── lib                                   # 样式和js库\n├── scripts                               # background/content_script/popup文件目录\n│   ├── bootom                            # [底层]\n│   │  ├── constant_bt.js                 # 底层常量\n│   │  └── fn_bt.js\t\t          # 底层工具方法\n│   ├── middle                            # [中间层]\n│   │  ├── message_md.js                  # 通信工具方法\n│   │  ├── storage_md.js                  # 存储工具方法\n│   │  ├── content_script_record_md.js    # 记录操作\n│   │  ├── content_script_oper_md.js      # 执行记录\n│   │  ├── content_script_md.js           # content_script中间层\n│   │  └── background.js\t\t          # background中间层\n│   └── plugin\t\t\t          # [应用层]\n│      ├── popup.js                       # popup页面脚本\n│      ├── content_script.js              # 植入页面脚本\n│      └── background.js\t\t          # 后台脚本\n└── manigest.json                         # 配置文件\n```\n\n## 问题\n\n- 存储改为一个对象之后,比较大的问题是读取和存储的速度没有通信那么快,同时设置整个对象后可能因为两个地方在同时读取和设置,导致数据不统一,解决的问题是重新修改底层的api,使存储对象可以修改部分.\n- 在background中修改opering状态时有时候会修改失败(猜测是因为操作时的存储设置导致),所以在操作时实时存储opering的状态\n\n\n## 缺陷\n\n- 记录的跳转时间没有记录,这样一来同样的记录在不同PC上使用时可能因为网络问题而导致记录无法正确执行\n\n\n\n## 存储结构\n\n``` javascript\n storage: {\n     //操作状态\n     status:{\n         recording: false,   //是否正在记录 [pupup(r)/background(rw)/content_script(r)]\n         opering: false      //是否正在执行 [pupup(r)/background(rw)/content_script(r)]\n     },\n     //存储数据\n     data: {\n         recordName: '',     //记录名称 [pupup(r)/background(rw)]\n         time: Date.now(),   //一条操作记录中的每个操作记录的时间戳 [content_script(rw)]\n         record: [],         //正在记录的单条操作数据 [content_script(rw)/background(rw)]\n         recordList: [       //记录列表 [pupup(rw)/background(rw)]\n\n             //selected:     //记录是否被选中;\n             //recordTime:   //记录时间;\n             //record:       //记录数据;\n             //html:         //记录列表li的内容(popup.html显示用);\n             //href:         //记录的起始url\n         ],\n         oper: [],           //正在执行的单条记录\n         operList: []        //需要执行的记录列表 [pupup(rw)/background(rw)]\n     }\n }\n```\n## 版本\n\n`V1.0.0`\n\n\n\n## 优秀插件和结构\n\n- [程序员必备的chrome插件](https://github.com/jiang111/chrome-plugin-recommand)\n\n- [划词翻译](https://github.com/Selection-Translator/crx-selection-translate)\n\n大体上采用webpack使用es6语法设计(利用import分离文件)\n\n- [octotree](https://github.com/buunguyen/octotree)\n\n大体上采用gulp使用es6语法设计(采用class和import),但是配置文件和background.js比较神奇,找不到content_script在哪里!\n\n- [tomato](https://github.com/Pearyman/chrome_plugin/)\n\n一款非常实用的搜索常用前端网站的插件\n\n- [FeHelper](https://github.com/zxlie/FeHelper)\n\n代码优化/压缩插件,感觉有点类似使用命名空间(文件夹超级多)\n\n- [Wappalyzer](https://github.com/AliasIO/Wappalyzer)\n\n显示网站的技术栈构成(使用的框架等), 模块化/ES6\n\n- [Holmes] 书签搜索插件\n\n- [IE Tab] 可以模拟IE7以上的浏览器环境\n\n- [CSS Viewer] 元素的css样式查看器\n\n- [Session Manager] 会话管理扩展\n\n- [Postman] 强大的 API \u0026 HTTP 请求调试工具(这是一个桌面应用,接口调试工具)\n\n- [Page ruler] 显示元素的尺寸\n\n- [SEO for chrome] chrome搜索引擎优化\n\n- [WindowResizer] 快速调整浏览器窗口以仿效各种不同的分辨率\n\n- [WhatFont] 识别网页上的字体最简单的方法\n\n- [ResponsiveInspector] 开发响应式网络布局时非常有用\n\n- [EnjoyCSS] 生成css3代码\n\n- [User-Agent Selector] 使用User-Agent Selector插件模拟手机等移动设备访问网站\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziyi2%2Fchrome-plugin-selenium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fziyi2%2Fchrome-plugin-selenium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziyi2%2Fchrome-plugin-selenium/lists"}