在使用JS脚本从文本中提取邮件时,我有一个“无效的字符错误”,这是我过去两天无法处理的。

通过使用对象克隆并将其传递给变量(稍后将传递给JS脚本),我将从web应用程序获取文本。


当然,我检查过的JS脚本也很有效:
var args = WScript.Arguments;
var pattern = \w+@\w+.\w;
var result = /pattern/.exec(args);
WScript.StdOut.WriteLine(result);发布于 2018-05-02 19:50:29
首先让我们分解它的模块并调试它们.
。
第一模块:对象克隆
对象克隆对于构建可靠性非常好,这种可靠性是通过仔细选择属性来实现的,在您的示例中,您选择了Path、DOMXPath、HTML -这是一种很好的做法,可以识别唯一的属性,从而产生高精度的属性,其中一些属性取决于上下文,例如,在登录页面中,一些属性包括:
优先级1:路径、HTML、InnerText
优先事项2:DOMXPath,HTMLValue
您可以选择添加您认为对上下文来说是唯一的属性。
strResult给出了期望值吗?如果是,让我们继续
第二个模块:运行脚本
接受两个参数$strResult$和$mail$
当然,我检查过的JS脚本也很有效:
您已经确认JS模块也运行良好。
如果您已经验证了前两个模块的结果,我认为脚本、参数中可能有一个无效的字符,检查使用的正则表达式。模式不应该包含在字符串" "中吗??
=====================
编辑:
我想重新创建这个问题,并给你想要的结果,但我不知道您的输入和输出的Javascript。然而,据我对您的javascript的了解,我已经在Automation中编译并执行了这个脚本,并且工作非常完美。
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运行脚本

输入参数

输出参数

https://stackoverflow.com/questions/50132224
复制相似问题