Commit 4d941edf by 高源

SDK名字更改

parents ac56d5e0 ad0661b0
/**
* 定义的表格获取时要传入的对象信息
* @param {string} xpath 元素的XPath路径
* @param {string} name 元素取值后返回的属性名
* @param {string} type 元素取值类型,文本,链接,元素路径(点击动作用)
* @param {string} title 标题信息
*/
var cell = function (xpath, name, type, title) {
let Xpath = xpath, Name = name, Type = type, Title = title;//初始化
let _xpathArray = xpath.split('/');
let ParentXpath = null, RelativeXpath = null;
/**
* 根据父路径更新当前的相对路径
* @param {string[]} parentXpath 父路径
*/
function updateRelativePath(parentXpath) {
ParentXpath = parentXpath;//其实这边严谨的来说要验证一下XPath是否真的有相同的根
RelativeXpath = _xpathArray.slice(parentXpath.length);
}
/**
* 根据索引获取值
* @param {any} index 索引号
*/
function getValue(index) {
}
return this;//返回当前对象
}
/**
* 检测传入的XPath是否有表的存在,如果没有返回null
* @param {object[]} tags 元素集合{xpath=XPath,name=返回的属性名,title=标题信息,type=操作类型:文本,链接,元素路径(点击动作用),relativePath=相对路径(最终的)}
* @param {cell[]} tags 元素集合{xpath=XPath,name=返回的属性名,title=标题信息,type=操作类型:文本,链接,元素路径(点击动作用),relativePath=相对路径(最终的)}
* @returns {any} 返回对象信息{}
*/
// xPaths
function checkTableFromXpaths(tags) {
function checkTableFromXpaths(cells) {
let rtns = null;
//先找到共同的根以及各路径在共同根下的相对路径
let parent = getCommonParentXPath(tags);
let parent = getCommonParentXPath(cells);
if (parent == null || parent.length == 0) return rtns;//如果找不到直接返回null
let relativeXpaths = getRelativeXPaths(parent, absolutePaths);//根据相同的根找到绝对路径的相对路径
cells.forEach(o => o.updateRelativePath(parent));//更新每个cell的相对路径
while (parent.length > 0) {
if (verifyTable(parent, absolutePaths)) break;//如果验证表结构成功,就可以退出了
parent.pop();//向上一级找
relativeXpaths = getRelativeXPaths(parent, absolutePaths);//重新获取相对路径
cells.forEach(o => o.updateRelativePath(parent));//更新每个cell的相对路径
}
if (parent.length === 0) return rtns;//如果父对象都为空了,直接返回null
let tableData = getTableData(parent, relativeXpaths);//根据验证后的信息来获取表
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment