Automator 中的 Javascript - 输入变量未从之前的操作中获取数据

问题描述

我正在执行一个自动化操作,从一个网页中提取数据,打开另一个网页,然后使用 Javascript 在第二个网页上填写表单。

在我需要将自动化器工作流程中先前操作的输出传递给 Javascript 的输入之前,我已经完成了所有工作。此外,如果我只使用随机字符串而不是输入数组,Javascript 将填写表单。所以这让我相信出于某种原因,“输入”参数没有接收到之前工作流操作的输出

Automator 模块如下; 使用 Applescript 抓取数据> 使用 Applescript 打开新网页 > 使用 JS 填写表单。

我的JS如下;

function run(input,parameters) {

// Sleep Function

function sleep(milliseconds) {
  const date = Date.Now();
  let currentDate = null;
  do {
    currentDate = Date.Now();
  } while (currentDate - date < milliseconds);
}

// Wait 2 secs for page to load

sleep(2000);

//Define my input variable

    var eventData = '';
    var eventData = input;
    
// Set Application to Safari
    
    var safari = Application("Safari");
safari.includeStandardAdditions = true;

//Define where to fill data

var fillForm = "";
fillForm += "document.getElementById('532689310259199').value = eventData[0];";
fillForm += "document.getElementById('296917710661947').value = eventData[2];";
fillForm += "document.getElementsByClassName('_3smp')[0].value = eventData[1];";
fillForm += "document.getElementById('837532203444414').value = eventData[6];";
fillForm += "document.getElementById('2009727289097015').value = eventData[5];";


// Execute

safari.doJavaScript(fillForm,{ in: safari.windows[0].currentTab });

    return eventData
}

如果我返回 eventData - []

如果我返回输入 - []

如果我返回 fillForm - document.getElementById('532689310259199').value = eventData[0];document.getElementById('296917710661947').value = eventData[2];document.getElementsByClassName('_3smp')[0 ].value = eventData[1];document.getElementById('837532203444414').value = eventData[6];document.getElementById('2009727289097015').value = eventData[5];

我绝对肯定这是一件非常简单的事情,但我是自动化的新手,而且它的文档......缺乏

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...