selenium – 与类匹配的元素数
我有以下testing代码:
it('count elements by class', async t => { let count = await driver.findElements(By.css('my-questions-class')).then(v => v.length); assert.equal(count, 3); // count is 0, but I expect 3 });
在我的HTML中,显然有一些匹配的元素:
<div class="panel panel-default my-questions-class">
有没有一个很好的理由,为什么Selenium代码不应该拿起这些HTML元素?
我也试过这个select器:
By.css('div[class=\'my-questions-class\']')
没有人拿起页面上的任何元素。 但我可以从观察中发现,它正在加载正确的页面,所以不知道这里发生了什么。
你想按照你写的方式使用By.className
。 即
By.className('my-questions-class')
使用By.css
,应该使用CSSselect器。
By.css('.my-questions-class')
要么
By.css('div.my-questions-class')