获取网站上某种类型的所有元素
Get All Elements of Certain Type on a Website
我需要找到网站上的所有输入元素 (sap.m.Input
)。
我知道我可以通过 sap.ui.getCore().byId()
通过 ID 找到一个元素,但这对我没有帮助。
我正在寻找类似 sap.ui.getCore().getByType("sap.m.Input")
的内容。我该怎么做呢?
编辑:我无权访问该网站的源代码,我在使用 SAPUI5
的网站上通过 chrome 扩展注入 javascript
从当前页面开始
<mvc:View ...>
<Input fieldGroupIds="myInputs" />
</mvc:View>
// In the Controller
this.getView().getControlsByFieldGroupId("myInputs").filter(c => c.isA("sap.m.Input"));
来自整个应用程序
利用 this solution in :
const allRegisteredControls = sap.ui.getCore().byFieldGroupId(""); // From
const inputControls = allRegisteredControls.filter(c => c.isA("sap.m.Input"));
API reference: sap.ui.base.Object#isA
这 returns 给定类型的所有注册实例。请注意,已销毁的元素不会被包含在内。
您可以像这样将每个输入字段设置为特定的字段组
<input fieldGroupIds="MyGroup" />
然后使用 byFieldGroupId 方法获取所有这些字段
var aMyGroupControls = sap.ui.getCore().byFieldGroupId("MyGroup");
aMyGroupControls 将填充一个控件数组
我找到了这个解决方案:
我从 DOM-Tree 中获取 class sap.m.Input
的所有元素
document.getElementsByClassName("sap.m.Input")`。
然后我通过对该数组的每个元素的 ID 调用 sap.ui.getCore().byId()
来获取相应的 UI5 元素。
我需要找到网站上的所有输入元素 (sap.m.Input
)。
我知道我可以通过 sap.ui.getCore().byId()
通过 ID 找到一个元素,但这对我没有帮助。
我正在寻找类似 sap.ui.getCore().getByType("sap.m.Input")
的内容。我该怎么做呢?
编辑:我无权访问该网站的源代码,我在使用 SAPUI5
的网站上通过 chrome 扩展注入 javascript从当前页面开始
<mvc:View ...>
<Input fieldGroupIds="myInputs" />
</mvc:View>
// In the Controller
this.getView().getControlsByFieldGroupId("myInputs").filter(c => c.isA("sap.m.Input"));
来自整个应用程序
利用 this solution in
const allRegisteredControls = sap.ui.getCore().byFieldGroupId(""); // From
const inputControls = allRegisteredControls.filter(c => c.isA("sap.m.Input"));
API reference: sap.ui.base.Object#isA
这 returns 给定类型的所有注册实例。请注意,已销毁的元素不会被包含在内。
您可以像这样将每个输入字段设置为特定的字段组
<input fieldGroupIds="MyGroup" />
然后使用 byFieldGroupId 方法获取所有这些字段
var aMyGroupControls = sap.ui.getCore().byFieldGroupId("MyGroup");
aMyGroupControls 将填充一个控件数组
我找到了这个解决方案:
我从 DOM-Tree 中获取 class sap.m.Input
的所有元素
document.getElementsByClassName("sap.m.Input")`。
然后我通过对该数组的每个元素的 ID 调用 sap.ui.getCore().byId()
来获取相应的 UI5 元素。