当前目录的问题
原来写了个用到Selenium web driver的程序,里面有这么一句:
var driver = new ChromeDriver(".\\", options, TimeSpan.FromSeconds(180));
本来运行正常。但是昨天从vbscript里调用它,却出错了,提示找不到chromedriver.exe。
vbscript程序
Set shl = CreateObject("Wscript.Shell")
Call shl.Run("""foo.exe""")
原因是从vbscript调用时,当前目录变成了vbscript所在的目录。
解决办法有两种。一种是修改vbscript:
Set shl = CreateObject("Wscript.Shell") shl.CurrentDirectory = <foo.exe所在目录> Call shl.Run("""foo.exe""")
另一种是修改C#代码:
var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var driver = new ChromeDriver(dir, options, TimeSpan.FromSeconds(180));
教训是用到当前目录时,尽量避免用.\\这种写法,因为不能确定程序是从何处调用的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律