以下代码旨在根据this收集href attribute
以“/ assets / css /”开头的元素。
然而,首次尝试访问browser.elementIdAttribute(iter1, 'href').value
或browser.elementIdAttribute(iter1, 'href')
时出现以下错误
TypeError:无法读取未定义的属性“value”
var styleSheetsElems = browser.elements('[href^="/assets/css/"]').value;
for (let iter1 in styleSheetsElems)
{
console.log( browser.elementIdAttribute(iter1, 'href').value );
};
我的理解是 styleSheetsElems
的填充应该保证现有的元素并具有href ...
打印。elements('[xyz]')
会导致
{ state: 'success',
sessionId: '652f9f1c-6cad-42d7-89a3-e09a1acbd1af',
hCode: 1951176523,
value:
[{ ELEMENT: '11' },
{ ELEMENT: '12' },
{ ELEMENT: '88' }],
class: 'org.openqa.selenium.remote.Response',
selector: '[xyz]',
_status: 0 }
所以没有运气......进一步挖掘
答案 0 :(得分:2)
查询的正确语法如下:
var styleSheetsElems = browser.elements('[href^="/assets/css/"]').value;
for (let iter1 in styleSheetsElems)
{
console.log( browser.elementIdAttribute(styleSheetsElems[iter1].ELEMENT, 'href').value );
};
根据GreenAsJade的建议,一些有帮助的测试打印出阵列的内容。然后意识到我正在做出这样的假设:' iter1'与存储在该数组中的elementID相同。非常感谢!