无法读取未定义javascript WebDrivero的属性$$
我正在尝试使用webdriverio框架访问嵌套的webelement 我有以下代码无法读取未定义javascript WebDrivero的属性$$,javascript,jquery,selenium,webdriver-io,Javascript,Jquery,Selenium,Webdriver Io,我正在尝试使用webdriverio框架访问嵌套的webelement 我有以下代码 function selectSales(sfilters, salesflowName) { const sflow = $$("app-filters-manager app-salesflow-panel mat-expansion-panel").find(element => { return element.getText() === salesflowName; })
function selectSales(sfilters, salesflowName) {
const sflow = $$("app-filters-manager app-salesflow-panel mat-expansion-panel").find(element => {
return element.getText() === salesflowName;
});
/* The below is to select the checkbox from a list of checkboxes under
the parent */
sfilters.forEach(fil => {
sflow.$$("mat-list-option").find(el => { //* > This is where I am getting error.
return el.getText().includes(fil);
}).$('mat-pseudo-checkbox').click();
});
}
我正在获取未定义的无法读取属性“$$”
不知道为什么会出现错误
'sflow'
是父webelement,使用$$(“mat列表选项”)
访问子元素时会出现错误。您的sflow
变量未定义,这意味着以下表达式不会返回任何内容
$$("app-filters-manager app-salesflow-panel mat-expansion-panel").find(element => {
return element.getText() === salesflowName;
});
这可能是因为以下几点:
$$(“应用过滤器管理器应用程序销售流程面板mat扩展面板”)
返回您要查找的元素的父元素?选择器正确吗$$(“应用过滤器管理器应用程序销售流程面板mat扩展面板”)选择器的子项。它还可能返回多个子项。如果该选择器已经是要使用的元素,请删除以下部分:
salesflowName
param传递了正确的值element.getText()
可能正在返回一些包含空格的文本。尝试element.getText().trim()
sflow
变量的值得到初始化。无论是选择器、salesflowName
param的问题还是相等性测试失败的空白,都需要通过调试进行调查
祝你好运 您的选择器似乎无效。它不应该是这样的(寻找类的选择器)
const-sflow=$$(“.app-filters-manager.app-salesflow-panel.mat扩展面板”).find(元素=>{
return元素。getText()==salesflowName`
在其他选择器中也是如此。并且应该返回一个子项,所以它是确定的
但是如果它是有效的,您确定元素在DOM中吗