Javascript 获取使用WebdriverIO v5显示的元素数
我尝试使用WebDriverioV5和Javascript获取具有特定标记名的元素数。Javascript 获取使用WebdriverIO v5显示的元素数,javascript,selenium,selenium-webdriver,webdriver-io,Javascript,Selenium,Selenium Webdriver,Webdriver Io,我尝试使用WebDriverioV5和Javascript获取具有特定标记名的元素数。 console.log()正在打印所有元素,但存储元素数的变量始终为0。我错过了什么 confirmSearchingResultPageHasOnlyTenElements() { this.searchBox.waitForEnabled(8000, false); this.searchBox.setValue('xyz'); this.searchBut
console.log()
正在打印所有元素,但存储元素数的变量始终为0。我错过了什么
confirmSearchingResultPageHasOnlyTenElements() {
this.searchBox.waitForEnabled(8000, false);
this.searchBox.setValue('xyz');
this.searchButton.waitForClickable({ timeout: 8000 });
this.searchButton.click();
var results = browser.findElements("tag name", 'article').values.length;
console.log(results)
expect(results).to.be.equal(10);
results[3].click();
}
您正在使用
findElements
这将返回具有“标记名”的WebElement列表:“article”
您可以检查每个元素
element.isDisplayed()编码>并计数。如果尚未升级到最新版本的WebDrivero(v6),请升级到最新版本
您可以这样做:
const elements = $$('article')
// expect lib waits for assertion to pass
// in this case it waits for elements to have length 3
expect(elements).toBeElementsArrayOfSize(3) // there are exactly 3 `article` elements
// or expect(elements).toBeElementsArrayOfSize({ get: 3 }) // 3 or more `article` elements
expect(elements).toBeVisible() // make sure all the article elements are visible
我是这样做的:get results(){return$$(“[class='productItem\uu name']”;}confirmSearchingResultPageHasOnlyElements(){this.results.values.length;expect(this.results.length).to.be.lessThan(11);}我相信这是v4?它已经几年没有得到支持和维护了。考虑升级到V6!它是v5,但我必须将它升级到v6