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')