摘要:lock结论: 关于lock有下面几点需要注意的地方 1、lock的是引用类型的对象,string类型除外。 2、lock推荐的做法是使用静态的、只读的、私有的对象。 3、保证lock的对象在外部无法修改才有意义,如果lock的对象在外部改变了,对其他线程就会畅通无阻,失去了lock的意义。 另外没
阅读全文
摘要:C#中timer类的用法 关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Timers.Timer类里 System.Windows.Forms.Timer
阅读全文
摘要:我之前写的https://www.cnblogs.com/pu369/p/12365383.html文章,已实现用C#和Selenium 操控浏览器。下面总结一下常用操作(主要节选自https://www.jianshu.com/nb/10377047) 1、生成driver实例 可以用Chrome
阅读全文
摘要:用\"匹配双引号,显示错误 改用两个双引号 "" 即可 Regex r = new Regex(@"两个双引号""才表示匹配,用\\""没用", RegexOptions.IgnoreCase);
阅读全文
摘要:1、安装 在项目名\引用\右击\管理NuGet程序包\搜索Selenium 1.1安装核心库Selenium.Support 从安装输出中看到Selenium.WebDriver已经自动安装了 1.2安装 Chrome浏览器驱动库,程序包名称为Selenium.WebDriver.ChromeDri
阅读全文
摘要:从当前目录下的cmd.txt文件中读取DOS命令并执行,一行一个命令 C#代码: string result=string.Empty; string[] all = File.ReadAllLines(@"cmd.txt"); RunCMDCommand(out result, all); Mes
阅读全文
摘要:1 选择文件(OpenFileDialog) OpenFileDialog dialog = new OpenFileDialog(); //dialog.Multiselect = true;//该值确定是否可以选择多个文件 // dialog.Title = "请选择文件"; //dialog.
阅读全文
摘要:无法嵌入互操作类型“Microsoft.Office.Interop.Word.ApplicationClass”。请改用适用的接口。 错误 4317 无法嵌入互操作类型“Microsoft.Office.Interop.Word.ApplicationClass”。请改用适用的接口。 类型“Mic
阅读全文
摘要:上篇文章https://www.cnblogs.com/pu369/p/12343259.html主要是对SHDocVw.InternetExplorer的控制,然而有时还需一些win32API才能真正实际完全自动化操作(必要时用spy++查看窗体层次)。 一些DllImport(在 public
阅读全文
摘要:可以直接从第5步开始看:-) 需求: 落后的企业规定必须使用IE,用chrome无法正常显示和上传,还装了一些ACTIVEX之类插件。于是想将繁琐工作步骤自动执行。 1、弯路: 原想参考https://golangnote.com/topic/230.html 用golang Selenium We
阅读全文
摘要:提到国外的搜索引擎(Search Engine),大家想到的大概首先就是Google,也许还有Bing。其实在互联网世界里还有千奇百怪的各种各样的搜索引擎,它们有各自的用途、各自的特点。今天我们在这里给大家介绍大概100家左右国外的搜索引擎。这些网站大部分是英文,如果打不开可以考虑使用VPN。 谷歌
阅读全文
摘要:1、封闭环境首先得GO111MODULE、GOPROXY,参考我之前文章https://www.cnblogs.com/pu369/p/12068645.html 2、前置安装 go get github.com/akavel/rsrc go get github.com/lxn/win go ge
阅读全文
摘要:写代码时,弹窗问题经常非常困扰。单列一篇随笔吧: // 禁止alert弹窗。 防止错误提醒 window.alert = function() { return false; } 参考:https://blog.csdn.net/qq_38334525/article/details/7962117
阅读全文
摘要:最基本的代码: package main import ( "context" "log" "time" "github.com/chromedp/chromedp" ) func main() { log.Printf("自动化助手:") dowork() } func dowork() { //
阅读全文
摘要:之前总结了chromedp的一些例子,今天找出来供参考: package main import ( "context" "encoding/json" "flag" "fmt" "io" "io/ioutil" "log" "net/http" "net/http/httptest" "os" "
阅读全文
摘要:重要补充:应该是由于302跳转的原因,代码未成功。看看改用chromedp是否可行。 还是先用Fiddler(设置过滤器、自动断点、捕获通信),截获以下内容: POST http://192.168.132.80/docs/docs/UploadDoc.jsp HTTP/1.1 Accept: te
阅读全文
摘要:对上一篇遗留的cookie的问题,从这里https://studygolang.com/articles/5228找到一篇几年前的代码,原作者golang_yh发表的原文已经不见了,我对代码中的一处小错误进行了修复。 感觉这段代码有助于理解cookiejar package main import
阅读全文
摘要:之前写的代码访问内网网站,在实践中发现以下现象: 1、访问网站时如不设置headers 会返回包含xss字样的提示 2:fiddler截获后,只有在IE浏览器仍处于登录状态时,才能补发成功。当在浏览器中退出登录后,fiddler补发不成功。 3:我将浏览器登录成功后的http headers复制到代
阅读全文
摘要:想用go抓TCP包,参考:https://www.cnblogs.com/lanyangsh/p/9821106.html,结果运行时提示wpcap.dll有问题,从网上下载了几个都不行。后来安装了win10Pcap,似乎可以了。但又提示:Error opening adapter: �����ɹ�
阅读全文
摘要:一直不喜欢框架,不喜欢引入外部包,所以重新梳理了以下代码,尽量不引入外部依赖。主要实现以下目标(玩具级代码,适合精准需求的小应用): 1、可以操作sqlite3数据库 2、可以用template展示数据(需增加页面时,在v目录下增加模板html文件,在main.go中增加路由及响应函数) 3、可以上
阅读全文
摘要:参考:https://blog.csdn.net/wyyyh9458/article/details/83550505和https://www.v2ex.com/amp/t/618547 看代码应该是谢大神写的;另,我没有修改 go.mod,类似: `github.com/mattn/go-sqli
阅读全文
摘要:补充说明:按照本文方式,之所以能成功获取登录后的网页,实际上是由于在代码中使用了浏览器成功登录后的cookie,此时服务器上SessionID有效。而一旦从浏览器中注销登录,本代码也就无法访问登录后的网页。 因此,正确方式请参考下一篇文章:https://www.cnblogs.com/pu369/
阅读全文