将 javascript 代码从 storeEval 转换为 executeScript_Sandbox (Selenium Ide Kantu Ui.Vision)
Posted
技术标签:
【中文标题】将 javascript 代码从 storeEval 转换为 executeScript_Sandbox (Selenium Ide Kantu Ui.Vision)【英文标题】:Conversion javascript code from storeEval to executeScript_Sandbox (Selenium Ide Kantu Ui.Vision) 【发布时间】:2020-02-01 19:15:36 【问题描述】:我需要转换两个 javascript 代码,以从 storeEval 获取首选格式的日期和时间,以在 Selenium Ide Kantu Ui.Vision 中使用执行Script_Sandbox
从一些更新中,storeEval 已被弃用,现在需要使用新命令 executeScript_Sandbox
这里有一些信息: https://ui.vision/docs/selenium-ide/executescript
我需要将 storeEval 中的 2 个代码转换为与新 Selenium Ide Kantu Ui.Vision 兼容的 executeScript_Sandbox。
我的第一个 storeEval 代码(已弃用)
var d = new Date();
var m = ((d.getMonth() + 1 ) < 10) ? "0" + (d.getMonth() + 1) : (d.getMonth() + 1);
var day = d.getDate() < 10 ? "0" + d.getDate() : d.getDate();
day + "-" + m + "-" + d.getFullYear();
我的第二个 storeEval 代码(已弃用)
let d = new Date();
let h = d.getHours();
h = h < 10 ? "0" + h : h;
let m = d.getMinutes();
m = m < 10 ? "0" + m : m;
let s = d.getSeconds();
s = s < 10 ? "0" + s : s;
h + "-" + m + "-" + s;
【问题讨论】:
根据文档,沙盒版本的工作方式与以前完全相同,只是运行位置有所不同......那么问题是什么?您是否使用沙盒运行您的代码?结果如何?错误在哪里? 我贴了解决方案,你可以看一下,如果你不知道硒和kantu不能解决这个问题。 【参考方案1】:这是解决executeScript_Sandbox命令需要返回否则不起作用,现在代码与新的executeScript_Sandbox命令(selenium和Kantu)兼容。
旧的 storeEval 已弃用且不兼容。
"Name": "test-date",
"CreationDate": "2019-10-4",
"Commands": [
"Command": "executeScript_Sandbox",
"Target": "var d = new Date();var m = ((d.getMonth()+1)<10) ? \"0\" + (d.getMonth()+1):(d.getMonth()+1);var day=d.getDate()<10 ? \"0\" + d.getDate():d.getDate();return day + \"-\" + m + \"-\" + d.getFullYear();",
"Value": "text1"
,
"Command": "executeScript_Sandbox",
"Target": "let d = new Date(); let h = d.getHours(); h = h < 10 ? \"0\" + h : h; let m = d.getMinutes(); m = m < 10 ? \"0\" + m : m; let s = d.getSeconds(); s = s < 10 ? \"0\" + s : s; return h + \"-\" + m + \"-\" + s;",
"Value": "text2"
,
"Command": "echo",
"Target": "$text1",
"Value": ""
,
"Command": "echo",
"Target": "$text2",
"Value": ""
]
【讨论】:
以上是关于将 javascript 代码从 storeEval 转换为 executeScript_Sandbox (Selenium Ide Kantu Ui.Vision)的主要内容,如果未能解决你的问题,请参考以下文章
通过 WebView2 将对象从 .NET 设置为 JavaScript 代码
将 javascript 代码从 storeEval 转换为 executeScript_Sandbox (Selenium Ide Kantu Ui.Vision)