首页 > 其他分享 >当前目录的问题

当前目录的问题

时间:2023-04-23 20:56:42浏览次数:28  
标签:exe 当前目录 vbscript driver 问题 var shl

原来写了个用到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));

教训是用到当前目录时,尽量避免用.\\这种写法,因为不能确定程序是从何处调用的。

标签:exe,当前目录,vbscript,driver,问题,var,shl
From: https://www.cnblogs.com/badnumber/p/17347703.html

相关文章

  • 存钱问题
    #include<iostream>#include<cmath>usingnamespacestd;intmain(){ intx1,x2,x3,x5,x8,y1,y2,y3,y5,y8; doublemax=0.0,result; for(x8=0;x8<=2;x8++){ for(x5=0;x5<=(20-8*x8)/5;x5++){ for(x3=0;x3<=(2......
  • 《综述图论中连通性及相关问题的一些处理方法》笔记
    基本概念边/点割集:若边集\(E'\)使得割掉这些边之后\(u\tov\)不连通,则\(E'\)是\((u,v)\)的边割集。类似地定义点割集。边/点连通度:若任意\((u,v)\)的割集大小都至少是\(s\),则\(u,v\)是\(s-\)边连通的。类似地定义点连通度。Menger定理:\(u\tov\)的边连通......
  • 跨域问题解决、其他权限校验方法
    跨域问题解决浏览器出于安全的考虑,使用XMLHttpRequest对象发起HTTP请求时必须遵守同源策略,否则就是跨域的HTTP请求,默认情况下是被禁止的。同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。前后端分离项目前端项目和后端项目一般都不是同源的,所以肯定会存在......
  • 【MAUI Blazor踩坑日记】2.关于Windows上的相机问题
    前言MAUI中Windows上,调用MediaPicker.Default.CapturePhotoAsync()并不能启动相机拍照。关于这个问题可以查看https://github.com/dotnet/maui/issues/7660,https://github.com/dotnet/maui/pull/13220,好消息是已经修复了,坏消息是.net8修复了,而且还没发布.所以目前怎么办,http......
  • 三色球问题
    一个口袋中放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现从中任取8个,问共有多少种可能的颜色搭配?因为要取8个球,而红球与白球的个数都只有三个,则要取的红球个数和白球个数范围都为[0,3],而黑球个数则为8减去红球和白球个数,则我们可以通过2个for循环和一个条件判断求出种数。......
  • JavaScript 使用 splice 方法删除数组元素可能导致的问题
    JavaScript使用splice方法删除数组元素可能导致的问题splice()方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。JavaScript遍历数组并通过splice方法删除该数组符合某些条件的元素将会导致哪些问题?导致......
  • 「学习笔记」2-SAT问题
    SAT是适定性\(\text{(Satisfiability)}\)问题的简称。一般形式为k-适定性问题,简称k-SAT。而当\(k>2\)时该问题为NP完全的。所以我们只研究\(k=2\)的情况。2-SAT,简单的说就是给出\(n\)个集合,每个集合有两个元素,已知若干个\(<a,b>\),表示\(a\)与\(b\)矛盾(其中......
  • springboot~关于md5签名引发的问题
    事实是这样的,我有个接口,这个接口不能被篡改,于是想到了比较简单的md5对url地址参数进行加密,把这个密码当成是sign,然后服务端收到请求后,使用相同算法也生成sign,两个sign相同就正常没有被篡改过。问题的出现接口中的参数包括userId,extUserId,时间,其中extUserId字符编码,中间会有+......
  • 解决ubuntu上回环设备/dev/loop0占用100%的问题
    当前ubuntu环境12cat/etc/issueUbuntu19.04\n\l当我们查看文件系统占用情况时,发现有/dev/loop0至/dev/loop7占用率为100%。1234567891011121314151617df-hFilesystemSizeUsedAvailUse%Mountedonudev3.9G03.9G0%/......
  • 解决 Visual C++ 17.5 __cplusplus 始终为 199711L 的问题
    00.软件环境VisualStudio2022,VisualC++,Version17.5.401.问题描述在应用https://github.com/ToniLipponen/cpp-sqlite的过程中,发现源代码文件sqlite.hpp中,有一处宏,和本项目的C++LanguageStandard有关,如下图所示:将鼠标悬停在__cplusplus这个宏上,可以看到它......