gpt4 book ai didi

exe - 在 casperjs 中启动 slimerjs 的正确方法是什么(使用绝对路径)?

转载 作者:行者123 更新时间:2023-12-04 18:08:02 26 4
gpt4 key购买 nike

slimerjs launch

好吧,我可以通过指定 slimer.bat 文件的路径来启动 slimerjs:
C:\bin\slimerjs\slimerjs.bat 然后执行我的文件。

但是,如果我修改 casperjs 文件(在 bin\中)并修改默认 exec 为 slimer :

    'env_varname': 'SLIMERJS_EXECUTABLE',
'default_exec' : 'C:\bin\slimerjs\slimerjs.bat'

当我执行 casper 命令时:
    casperjs --engine=slimerjs test.js

它不起作用,slimerjs.bat 的路径似乎被忽略了。

我也试过这个: https://github.com/laurentj/slimerjs/blob/master/BUILD.md

但是仅使用 slimerjs.exe 是不够的,我需要在执行测试的当前文件夹中有 application.ini 和 omni.ja,并且我不想在每个文件夹中添加一些文件。

我想要的只是使用引擎属性在 casperjs 中执行 slimerjs,无论我在哪里,就像在 phantomjs 中一样,所以我需要设置一个绝对路径(或从根目录的相对路径)。

我不想在 slimerjs.bat 文件夹中并指定我想要执行的文件夹或 js 测试:casperjs test C:/bin/try/test.js --engine=slimerjs。

这里有一个类似的问题:
https://github.com/n1k0/casperjs/issues/591

编辑(感谢达伦库克的回答)了解更多详情:
set PATH=%PATH%;C:\\bin\\slimerjs

如果我为 slimer 设置 Windows PATH,当我执行 casperjs test --engine=slimerjs test.js 时,我会收到以下消息:

fail slimerjs

但是在 test.js 文件夹中添加这两个文件可以解决问题。

path

所以我想我必须修改 slimerjs bat 文件,以设置 slimerjs.bat 文件夹中的 :callexec 路径,而不是当前的 test.js 文件夹。

这里 :
:callexec
if ["%HIDE_ERRORS%"]==[""] (
%SLIMERJSLAUNCHER% -app "%SLIMERDIR%application.ini" %PROFILE% -attach-console -no-remote %__SLIMER_ARGS%
) ELSE (
%SLIMERJSLAUNCHER% -app "%SLIMERDIR%application.ini" %PROFILE% -attach-console -no-remote %__SLIMER_ARGS% 2>NUL
)

和 :
SET SLIMERDIR=%~dp0

问题是我不熟悉这种语法(批处理文件),它可能已经正确并且问题不是来自这里。

但我观察到的是它似乎从当前文件夹中寻找 application.ini 和 omni.ja,而不是 slimerjs 文件夹。

PS:第二个想法不起作用,但现在我知道它来自 slimerjs。

编辑:
REM % ~ d[rive] p[ath] 0[script name] is the absolute path to this bat file, without quotes, always.
REM ~ strips quotes from the argument

所以路径似乎很好,实际上它只适用于 slimerjs :
slimerjs test.js 效果很好,它不需要 application.ini。
所以这两者的结合是行不通的。

当您使用 casper 命令启动它时,路径不同(当前文件夹),并且 application.ini 不再被识别。

最佳答案

回答 -> 我终于找到了适合我的方法:像这样:
SlimerArchOk
所以我把 slimer 放在 PATH 中,并且我必须让 application.ini 和 omni.ja 与包含我的测试文件的目录处于同一级别。这样就不方便了,我可以用 slimerJS 启动我的目录或文件。
另见 Git Issue

编辑:这里最好的解决方案:通过 npm 安装它:npm install -g slimerjs -g 随处可用。就是这样,只需选择您的--engine=slimerjs使用 casper,它可以工作。感谢此节点模块。
对于安装 phantomjs + casperjs + slimerjs 的最佳方式,无需 PATH 和操作系统兼容性 headlock :

npm install -g phantomjs
npm install -g casperjs
npm install -g slimerjs
在 Windows 中,exe 将在此处设置:C:\Users\UserName\AppData\Roaming\npm(您不需要将它们放在 PATH 中,节点 -npm 实际上 - 使用 -g 标志管理它)。
请记住 slimerjs 存在一些相对路径问题,因此为了保持 phantom 和 slimer 之间的兼容性,请使用 fs.workingDirectory ,见 Is there a way to step in to CasperJS code and Debug step by step

关于exe - 在 casperjs 中启动 slimerjs 的正确方法是什么(使用绝对路径)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22039826/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com