【问题标题】:iMacros / Select random photo from PCiMacros / 从 PC 中选择随机照片
【发布时间】:2016-05-08 03:16:10
【问题描述】:

我需要让 iMacros 自动从我 PC 上的文件夹中选择随机照片。我该如何安排? 这是 iMacros 中用于手动添加一些文件的行:

TAG POS=1 TYPE=INPUT:FILE FORM=ID:insta-add-image-form-all ATTR=ID:edit-insta-image-upload CONTENT=/path/to/the/specific/file

谢谢。

对于Shugar

我的脚本如下所示:

asd.iim

VERSION BUILD=8920312 RECORDER=FX
TAB T=1
URL GOTO=https://onlypult.com/dashboard
TAG POS=1 TYPE=A ATTR=TXT:Calendar
TAG POS=1 TYPE=A ATTR=TXT:+
TAG POS=1 TYPE=INPUT:FILE FORM=ID:insta-add-image-form-all ATTR=ID:edit-insta-image-upload CONTENT={{rndFilePath}}
TAG POS=1 TYPE=BUTTON FORM=ID:insta-add-image-form-all ATTR=ID:edit-nextsubmit--2
TAG POS=1 TYPE=BUTTON FORM=ID:insta-add-image-form-all ATTR=ID:edit-nextsubmit--3
TAG POS=1 TYPE=BUTTON FORM=ID:insta-add-image-form-all ATTR=ID:edit-saveimaage

asd.js

SET folderPath /path/to/folder/
SET rndFilePath EVAL("var arrFile = []; var file = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile); file.initWithPath('{{folderPath}}'); var filesEnum = file.directoryEntries; while (filesEnum.hasMoreElements()) {arrFile.push(filesEnum.getNext().QueryInterface(Components.interfaces.nsILocalFile).path);} arrFile[Math.floor(Math.random()*(arrFile.length))];")
PROMPT {{rndFilePath}}

这两个文件都在文件夹 /iMacros/Macros 中。 当涉及到与 CONTENT={{rndFilePath}} 一致时,什么也没有发生。 通常这条线看起来像这样

TAG POS=1 TYPE=INPUT:FILE FORM=ID:insta-add-image-form-all ATTR=ID:edit-insta-image-upload CONTENT=/path/to/content.jpg

问题是,我需要单击并选择一些文件,因为当我单击«从 PC 上传»时会出现下拉菜单,我不能只写复制粘贴文件的路径。有可能吗?

【问题讨论】:

    标签: imacros


    【解决方案1】:

    如果您使用的是 Firefox,下面的代码会返回文件夹“D:\Temp\img”(使用“folderPath”变量指定)中随机文件的完整路径。

    SET folderPath D:\\\Temp\\\img
    SET rndFilePath EVAL("var arrFile = []; var file = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile); file.initWithPath('{{folderPath}}'); var filesEnum = file.directoryEntries; while (filesEnum.hasMoreElements()) {arrFile.push(filesEnum.getNext().QueryInterface(Components.interfaces.nsILocalFile).path);} arrFile[Math.floor(Math.random()*(arrFile.length))];")
    PROMPT {{rndFilePath}}
    

    【讨论】:

    • 不知何故不起作用。我在另一个答案中写下所有信息。
    • 我的代码不是“.js”——它是一个简单的“.iim”!单独运行我的宏并检查它是如何工作的。如果它解决了您的部分任务(即“从 PC 中选择随机照片”),您可以在进行所有必要的更改后继续加入这两个代码。
    • 当我点击«上传»时,我无法做任何事情,因为我有这种窗口,我无法点击任何东西。 screen shot
    • 再一次!单独播放我的宏并检查它是否“自动从您的 PC 上的文件夹中选择一张随机照片”......并将文件选择器留给下一步。
    • 很抱歉,但我不太明白你的意思。当我在没有任何其他内容的情况下播放您的脚本时,我收到错误 ReferenceError: Components is not defined, line 2 (Error code: -1001)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    • 2010-11-11
    • 2013-09-30
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    相关资源
    最近更新 更多