AutomationAnywhere + Javascript 正则表达式
AutomationAnywhere + Javascript regular expression
我在使用 JS 脚本从过去 2 天无法处理的文本中提取邮件时有一个 "Invalid character error"。
我通过使用对象克隆从 Web 应用程序获取文本并将其传递给变量,稍后我将传递给 JS 脚本。
当然还有我检查过并且有效的 JS 脚本:
var args = WScript.Arguments;
var pattern = \w+@\w+.\w;
var result = /pattern/.exec(args);
WScript.StdOut.WriteLine(result);
首先让我们分解它的模块并调试它们。
.
第一个模块:对象克隆
对象克隆非常适合建立可靠性,这种可靠性是通过仔细选择属性来实现的,在您的示例中,您选择了 Path、DOMXPath、HTML Tag
识别独特的属性是一种很好的做法,因此会产生高精度,其中一些属性取决于上下文
例如,在登录页面中,一些属性包括:
优先级 1:路径,HTML ID,InnerText
优先级 2:DOMXPath,HTML值
您可以选择添加您认为对您的上下文而言可能独有的属性
strResult
是否给了您预期的价值?如果是,让我们继续
第二个模块:运行脚本
接受 2 个参数 $strResult$
和 $mail$
And of course my JS script which I checked and it works:
并且您已确认 JS 模块也可以正常运行
如果您验证了前 2 个模块的结果,我认为脚本、参数中的某处可能存在无效字符,请检查使用的正则表达式。模式不应该包含在字符串 " "
中吗??
=====================
编辑:
我想重新创建问题并给你想要的结果,但我不知道你对 Javascript 的预期输入和输出。然而,据我对您的 javascript 的了解,我已经在 Automation Anywhere 中编译并执行了这个脚本并且运行完美。
JavaScript
var args = WScript.Arguments;
if (args.length > 0)
{
var val=0;
var str=args.item(0);
var ary = str.split(",");
//WScript.Echo(ary.length);
// for loop in case there are multiple parameters passed
for (var i=0; i < ary.length; i++)
{
//Takes the input passed as parameter
var input = (ary[i]);
// Uses the Match() Method to look for an email address in input string
var result = input.match(/\w+@\w+\.com/);
//returns the email address
}
WScript.StdOut.WriteLine(result);
}
或
//Takes the input passed as parameter
var input = (ary[i]);
//Declares the pattern used
var pattern = /\w+@\w+\.com/
// Uses the Exec() Method to look for a match
var result = pattern.exec(input);
//returns the email address
运行 脚本
输入参数
输出参数
我在使用 JS 脚本从过去 2 天无法处理的文本中提取邮件时有一个 "Invalid character error"。
我通过使用对象克隆从 Web 应用程序获取文本并将其传递给变量,稍后我将传递给 JS 脚本。
当然还有我检查过并且有效的 JS 脚本:
var args = WScript.Arguments;
var pattern = \w+@\w+.\w;
var result = /pattern/.exec(args);
WScript.StdOut.WriteLine(result);
首先让我们分解它的模块并调试它们。
.
第一个模块:对象克隆
对象克隆非常适合建立可靠性,这种可靠性是通过仔细选择属性来实现的,在您的示例中,您选择了 Path、DOMXPath、HTML Tag 识别独特的属性是一种很好的做法,因此会产生高精度,其中一些属性取决于上下文 例如,在登录页面中,一些属性包括:
优先级 1:路径,HTML ID,InnerText
优先级 2:DOMXPath,HTML值
您可以选择添加您认为对您的上下文而言可能独有的属性
strResult
是否给了您预期的价值?如果是,让我们继续
第二个模块:运行脚本
接受 2 个参数 $strResult$
和 $mail$
And of course my JS script which I checked and it works:
并且您已确认 JS 模块也可以正常运行
如果您验证了前 2 个模块的结果,我认为脚本、参数中的某处可能存在无效字符,请检查使用的正则表达式。模式不应该包含在字符串 " "
中吗??
=====================
编辑:
我想重新创建问题并给你想要的结果,但我不知道你对 Javascript 的预期输入和输出。然而,据我对您的 javascript 的了解,我已经在 Automation Anywhere 中编译并执行了这个脚本并且运行完美。
JavaScript
var args = WScript.Arguments;
if (args.length > 0)
{
var val=0;
var str=args.item(0);
var ary = str.split(",");
//WScript.Echo(ary.length);
// for loop in case there are multiple parameters passed
for (var i=0; i < ary.length; i++)
{
//Takes the input passed as parameter
var input = (ary[i]);
// Uses the Match() Method to look for an email address in input string
var result = input.match(/\w+@\w+\.com/);
//returns the email address
}
WScript.StdOut.WriteLine(result);
}
或
//Takes the input passed as parameter
var input = (ary[i]);
//Declares the pattern used
var pattern = /\w+@\w+\.com/
// Uses the Exec() Method to look for a match
var result = pattern.exec(input);
//returns the email address
运行 脚本
输入参数
输出参数