摘要: 京门时代外卖ERP系统是北京京门时代科技有限公司旗下的一款专注外卖行业的系统解决方案,主要对外卖平台订单智能分单、门店进销存管理、仓储WMS管理等环节进行专业管控 阅读全文
posted @ 2018-02-12 16:55 左正 阅读(4028) 评论(0) 推荐(0) 编辑
摘要: 近两年一直做邮轮旅游方面的系统开发,最近有点时间,就花了两三个月,开发了一套邮轮ERP。 感兴趣的同学可以给我留言(904308112@qq.com),一起交流学习。 阅读全文
posted @ 2018-01-29 10:47 左正 阅读(572) 评论(0) 推荐(1) 编辑
摘要: SOP是啥? 进入公司,就会发现每个公司都会有一套属于自己的流程,无论是管理方面的还是运营方面的。而这套流程是需要文件来规范的,其中一个文件就是SOP。SOP主要是用于规范操作和规范使用的仪器的。 它就是一本傻瓜手册,傻瓜到就算你没有任何专业知识背景,也能完成分配给你的工作,大家之间的差别只体现在熟 阅读全文
posted @ 2021-10-16 14:05 左正 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 微软提供的UI Automation框架给开发windows平台的自动化测试带来了很大的便利,这里就总结一下相关的代码。 首先,直接使用UI Automation框架,完成一个NotePad的about窗口中的 “OK” button的点击: 1 AutomationElement root = A 阅读全文
posted @ 2021-10-14 13:49 左正 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 前言 在说C# Hook之前,我们先来说说什么是Hook技术。相信大家都接触过外挂,不管是修改游戏客户端的也好,盗取密码的也罢,它们都是如何实现的呢? 实际上,Windows平台是基于事件驱动机制的,整个系统都是通过消息的传递来实现的。当进程有响应时(包括响应鼠标和键盘事件),则Windows会向应 阅读全文
posted @ 2021-10-09 17:09 左正 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 昨天看代码的时候,看到了这个一句 String requestedWith = ((HttpServletRequest) request).getHeader("X-Requested-With"); X-Requested-With 看到这个玩意并不知道是啥 于是查了一下 if (request 阅读全文
posted @ 2021-09-28 14:45 左正 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 要用到 S22.Imap 一个开源的动态库 string host = "网易收件服务器";int port = 993;//用的qq邮箱发的端口是993 网易的是995 监听网易邮箱要监听993端口string username = "账号";string password = "密码"; usi 阅读全文
posted @ 2021-08-05 11:06 左正 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 要用到 S22.Imap 一个开源的动态库 string host = "网易收件服务器";int port = 993;//用的qq邮箱发的端口是993 网易的是995 监听网易邮箱要监听993端口string username = "账号";string password = "密码"; usi 阅读全文
posted @ 2021-08-04 19:53 左正 阅读(12) 评论(0) 推荐(0) 编辑
摘要: vs2019,Resharper2019,安装卸载多次都没有快捷键,今天遇到了,百度了一下, 原文: https://blog.csdn.net/mask_soft/article/details/16979435 摸索出来的,希望对你的电脑有用。 安装完Resharper后的界面 进入【工具】-【 阅读全文
posted @ 2021-08-04 10:37 左正 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 在平时的开发工作中,作为一名程序员,难免会想办法找到适合自己的开发编辑器。这款插件来自JetBrains公司。接下来就来教大家如何对这款软件进行安装与破解。 1:首先下载与安装。如果没有找到适合的资源,可以从我分享的资源直接下载使用。下载链接为: 链接:https://pan.baidu.com/s 阅读全文
posted @ 2021-08-04 10:34 左正 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 我更喜欢使用扩展方法来获取脚本对象: public static IJavaScriptExecutor Scripts(this IWebDriver driver){ return (IJavaScriptExecutor)driver;} 用作: driver.Scripts().Execut 阅读全文
posted @ 2021-08-03 14:45 左正 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 以东方财富网登录页面为例: 在查找元素过程中,直接通过id或者xpath等找不到元素,查看页面源代码发现元素是属于iframe里,例如: <div class="wrap_login"> <iframe class="frame_login" src="https://exaccount.eastm 阅读全文
posted @ 2021-08-03 14:32 左正 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 使用Selenium WebDriver驱动浏览器测试的过程中多多少少会遇到一些折腾人的问题,总结了一部分,做下分享。 一、隐藏元素处理(element not visible) 使用WebDriver点击界面上被隐藏的元素时,使用默认的IWebElement.Click()方法可能无法触发Clic 阅读全文
posted @ 2021-08-03 14:32 左正 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 在使用selenium进行自动化登录的过程中已经获取到cookie后,依旧报错:selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain 获取cookie和添加cookie原代码如下 阅读全文
posted @ 2021-08-03 14:14 左正 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 在webBrowser使用过程中为了C#和JS通讯,webBrowser必须设置ObjectForScripting的属性,它是一个object,这个object可以提供给webBrowser控件载入的网页上的script访问。 在设置过webBrowser控件的ObjectForScripting 阅读全文
posted @ 2021-08-02 21:43 左正 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 其实就是对IE客户端编程,比如有些网页的JS函数的处理方式或者算法,有BUG,或者不符合本人习惯,如何改呢? 替换window.showModalDialog document.parentWindow.execScript("window.showModalDialog = function(di 阅读全文
posted @ 2021-07-07 21:31 左正 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 1、工具-NuGget-管理解决方案2、在浏览中搜索cefsharp.winforms,选择第一个,并选择右下角的版本(我选择了47版本)3、修改项目的平台目标为x86 解决方案-右键属性-选择配置属性-配置管理器-程序主项目选择x864、接下来可以开始写代码了,不详细写了,每个人要实现的功能不一样 阅读全文
posted @ 2021-06-24 15:45 左正 阅读(26) 评论(0) 推荐(0) 编辑
摘要: async function init(){ console.log(1) await sleep(1000) console.log(2) } function sleep(ms){ return new Promise(resolve=>{ setTimeout(resolve,ms) }) } 阅读全文
posted @ 2021-06-21 18:45 左正 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 将博客搬至CSDN 阅读全文
posted @ 2021-06-04 18:49 左正 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 设置控件的值 /// <summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagName"></param> /// <param name="id"></param> /// <param name="value"></p 阅读全文
posted @ 2021-05-15 17:09 左正 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 通过 WebBrowser 可以在页面中执行 js 函数,与取得 js 变量值还是有一定距离,考虑到既然可以获取页面元素,为什么不通过页面元素曲线救国呢?马上行动。 1 用万能的 eval 自定义一个函数,用来完成需要的操作 2 再用 eval 调用定义的函数传入特定的参数: public stat 阅读全文
posted @ 2021-04-20 11:21 左正 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 全局变量名为 param1var param1Value = webBrowser1.Document.InvokeScript("eval",new String[]{"param1"}).ToString(); 阅读全文
posted @ 2021-04-20 11:20 左正 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 每个Thread都有一个关于ApartmentState的属性,可以把它设置为:STA或者MTA,或者UNKNOWN。当你想指定工程的启动窗口的时候,你需要在该窗口类中申明一个Main()方法,并为这个方法设置[STAThread]属性。 [STAThread]是Single Thread Apar 阅读全文
posted @ 2021-03-29 11:31 左正 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 用C#调用Windows API向指定窗口发送 一、调用Windows API。 C#下调用Windows API方法如下: 1、引入命名空间:using System.Runtime.InteropServices; 2、引用需要使用的方法,格式:[DllImport("DLL文件")]方法的声明 阅读全文
posted @ 2021-02-27 16:29 左正 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 有些RPA机器人流程自动化的触发,需要设置定时任务,在每天相同的时间里以不同的频次执行业务流程操作。 如果机器人在启动的时候,电脑是锁屏状态,那么就会造成流程执行报错。 所以针对这种情况,现提供以下四种不同的解决方案,可使RPA机器人进行防锁屏运行。 方案1 电脑防睡眠 如果你的电脑有超管权限,可以 阅读全文
posted @ 2021-02-26 10:48 左正 阅读(120) 评论(0) 推荐(0) 编辑
摘要: .xls和.xlsx的区别 1、.xls是2003版Office Microsoft Office Excel 工作表的格式,用03版Office,新建Excel默认保存的Excel文件格式的后缀是.xls;2、.xlsx是2007版Office Microsoft Office Excel 工作表 阅读全文
posted @ 2021-02-04 16:37 左正 阅读(337) 评论(0) 推荐(0) 编辑
摘要: Emgu Emgu是opencv视觉库在.net平台上的封装。 可以通过以下IDE编译运行:Visual Studio, Xamarin Studio and Unity 可以运行在Windows,、Linux、 Mac OS X、 iOS、 Android、Windows Phone系统上. 官网 阅读全文
posted @ 2021-02-03 09:27 左正 阅读(82) 评论(0) 推荐(0) 编辑
摘要: C# 反射机制以及方法 目录: 一. 反射的主要特性 1.反射中一个非常重要的类型就是 Type 1)当没有对象的时候使用这种方式来获取某个类型的Type 2)当已经获得对象后通过对象的GetType()方法来获取指定对象的类型的Type对象 2.获取Person类中的所有的方法 3.获取某个类型的 阅读全文
posted @ 2021-02-01 19:07 左正 阅读(76) 评论(0) 推荐(0) 编辑
摘要: C# 获取IFrame中body元素 (winform) 方法1. 找出iframe的b.html的src , 利用webbrowser去加载b.html HtmlElementCollection a = webBrowser1.Document.All["loginframe"].GetElem 阅读全文
posted @ 2021-02-01 18:30 左正 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 首先要明白mshtml的属性方法: {IHTMLDocument2 方法:} write //写入 writeln //写入并换行 open //打开一个流,以收集 document.write 或 document.writeln 的输出 close //关闭并输出用 document.open 阅读全文
posted @ 2021-02-01 10:49 左正 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 打开 Program.cs 代码文件,这里是程序的入口点,如下: static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Applicat 阅读全文
posted @ 2021-01-18 16:51 左正 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 异常信息(异常类型:System.Reflection.AmbiguousMatchException)异常提示:Ambiguous match found.异常信息:Ambiguous match found.导致错误的应用程序或对象的名称:mscorlib引发当前异常的方法:System.Ref 阅读全文
posted @ 2021-01-15 20:10 左正 阅读(728) 评论(0) 推荐(0) 编辑
摘要: public static Dictionary<string, decimal?> DisplayNameModel<T>(T t) { Type type = typeof(T); PropertyInfo[] properties = type.GetProperties(); Diction 阅读全文
posted @ 2020-12-15 19:06 左正 阅读(1766) 评论(0) 推荐(0) 编辑
摘要: 用 .Net WebBrowser 控件获取POST数据 很多应用中,开发者需要自己构建一个浏览器,并且对通过这个浏览器提交的请求进行截获,比如用户通过这个浏览器浏览了一个网页,并向网站提交(POST)了一些信息,我们想在其提交到网站前对这些POST数据在浏览器侧进行截获,做一些跟踪日志,或者对这些 阅读全文
posted @ 2020-12-11 21:54 左正 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 有时候应用程序需要将一个窗体始终位于屏幕的最前面,即使切换到其它窗体也能看到该窗体,这样的窗体就叫做TopMost窗体。 用C#制作TopMost窗体之前,首先要了解如何声明SetWindowPos函数和SetWindowPos函数的具体功能,它们是制作TopMost窗体的关键,C#程序主要是通过调 阅读全文
posted @ 2020-12-06 14:33 左正 阅读(240) 评论(0) 推荐(0) 编辑
摘要: protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData) { int WM_KEYDOWN = 256; int WM_SYSKEYDO 阅读全文
posted @ 2020-12-04 13:49 左正 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 调用IE来打开对应的网页问题,但是在实际测试中,有些网站是采用https协议的,这时候IE浏览器会弹出如下窗口,一般手动选择后,才可进入登录界面,那么该如何解决呢 今天有个用户再访问我们网站的时候,调用IE来打开对应的网页问题,但是在实际测试中,有些网站是采用https协议的,这时候IE浏览器会弹出 阅读全文
posted @ 2020-12-03 19:08 左正 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 1. 使用.Net Framework的库函数 SendKeys.SendWait("123{TAB}abc"); namespace System.Windows.Forms命名空间下的SendKeys是.Net提供的模拟键盘输入的工具类。其中有Send()和SendWait()这两个方法,都可以 阅读全文
posted @ 2020-11-24 17:12 左正 阅读(3327) 评论(1) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/articlelist_1585708262_3_1.html 钩子(HOOK)函数教程(一) 我们可以首先从字面上了解钩子,钩子是干什么的呢?日常生活中,我们的钩子是用来钩住某种东西的,比如,说,鱼钩是用来钓鱼的,一旦鱼咬了钩,钩子就一直钩住鱼了 阅读全文
posted @ 2020-11-23 10:53 左正 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 事情是这样的,今天写测试代码的时候发现,进程 A 调用进程 B,A 与 B不在同一路径下,B 中使用Environment.CurrentDirectory 获取当前路径,本以为获取的路径应为 B 所在目录,结果证明,获取路径为 A 路径; 要获取 B 所在路径,需使用: Path.GetDirec 阅读全文
posted @ 2020-11-16 20:31 左正 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 今天调试程序的时候遇到一个大坑,程序A(exe)通过Process Start启动程序B(exe)进程,总是报错。 上图是程序结构,为了让所有的程序B实例共享配置,所以把app.ini放在了bin的上级目录。 启动进程代码: System.Diagnostics.Process p = new Sy 阅读全文
posted @ 2020-11-16 20:30 左正 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 一、页面元素坐标种类 根据DOM的鼠标事件(参见https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent),浏览器响应鼠标事件时,会上报四类坐标: 1、(pageX,pageY):相对于整个网页的坐标,因此坐标点可能比实际屏幕尺寸大。该坐 阅读全文
posted @ 2020-11-15 15:42 左正 阅读(490) 评论(0) 推荐(0) 编辑