Webdriver.io browser.getText() 有时 returns 未定义
Webdriver.io browser.getText() sometimes returns undefined
我有这段代码:
getText: (selector) => {
browser.waitUntil(function () {
return browser.isExisting(selector) === true;
},timeout,
'Could not find element after: ' + timeout,
pollingTime);
return browser.getText(selector);
}
有时这个函数 (getText(selector),但在深度 browser.getText(selector)) returns undefined
中,选择器看起来像这样:
article[data-product-id="test-00020"] li.product-entry__summary__item.is-price span
并非每次测试 运行 时都会发生这种情况,但偶尔会发生。这让我抓狂,因为行为不一致。有时有效,有时无效。
有人遇到过类似的问题吗?请帮忙!谢谢。
getText
取决于页面视口中可见的元素(因此,如果它滚出页面,它将 return 一个空字符串)
相反,您可以使用 getHTML(false)
来获取元素的文本内容(只要确保它是最内层的元素,否则您将在 return编辑内容)
如果你使用我也做过的 getHTML,你可以去掉 HTML 标签,如果它们不是 innerHTML:
var strArray = browser.getHTML("//div[myxpath]");
for(var i =0; i<strArray.length; i++){
strArray[i]=strArray[i].replace(/(<([^>]+)>)/ig, "");
strArray[i] = strArray[i].trim();
}
对不起,匈牙利符号。
我有这段代码:
getText: (selector) => {
browser.waitUntil(function () {
return browser.isExisting(selector) === true;
},timeout,
'Could not find element after: ' + timeout,
pollingTime);
return browser.getText(selector);
}
有时这个函数 (getText(selector),但在深度 browser.getText(selector)) returns undefined
中,选择器看起来像这样:
article[data-product-id="test-00020"] li.product-entry__summary__item.is-price span
并非每次测试 运行 时都会发生这种情况,但偶尔会发生。这让我抓狂,因为行为不一致。有时有效,有时无效。
有人遇到过类似的问题吗?请帮忙!谢谢。
getText
取决于页面视口中可见的元素(因此,如果它滚出页面,它将 return 一个空字符串)
相反,您可以使用 getHTML(false)
来获取元素的文本内容(只要确保它是最内层的元素,否则您将在 return编辑内容)
如果你使用我也做过的 getHTML,你可以去掉 HTML 标签,如果它们不是 innerHTML:
var strArray = browser.getHTML("//div[myxpath]");
for(var i =0; i<strArray.length; i++){
strArray[i]=strArray[i].replace(/(<([^>]+)>)/ig, "");
strArray[i] = strArray[i].trim();
}
对不起,匈牙利符号。