Protractor 元素。所有元素始终返回计数为0
我试图使用量角器测试一个动态web表,并试图找到头、行和列的计数,但总是得到0作为计数 var x=element.all(by.xpath('//table//thead//tr//th')) x、 count()。然后(函数(c){ 控制台日志(c) })) 我也尝试过使用element.all(by.css)并且它返回相同的结果,有人能帮忙吗? 我使用selenium并能够检索值,因此xpath没有错,但我必须使用量角器来获取相同的值。 正在运行的Selenium脚本 List col=driver.findElements(By.xpath(//div[@class='table-wrapper']//table//thead//tr/th”); System.out.println(col.size()) 尝试下面的代码Protractor 元素。所有元素始终返回计数为0,protractor,Protractor,我试图使用量角器测试一个动态web表,并试图找到头、行和列的计数,但总是得到0作为计数 var x=element.all(by.xpath('//table//thead//tr//th')) x、 count()。然后(函数(c){ 控制台日志(c) })) 我也尝试过使用element.all(by.css)并且它返回相同的结果,有人能帮忙吗? 我使用selenium并能够检索值,因此xpath没有错,但我必须使用量角器来获取相同的值。 正在运行的Selenium脚本 List col=d
var x = await element.all(by.css('table[title="status"]'))
//Add wait if the table take more time to load
x.count().then(function(c){
console.log(c);
});
通常,您应该避免使用
xpath
,因为它效率很低
这应该适合您:
var table = element(by.css('table.table'));
table
.element(by.css('thead'))
.all(by.css('tr th'))
.count()
.then(function(count) {
console.log('count:',count);
});
如果您知道至少会有一个,则需要browser.wait等待x.first()的出现。否则,它的作用就太快了。或者你可以加上睡眠,但那太恶心了。或者使用async和x=await元素。所有。。。console.log(await x.count)感谢第一个工作的wait没有,作为下一步,我的场景是自动化一个动态表…该表始终有3列,但行数不同。(年龄范围取决于选择)必须将每个年龄范围对应的入院和出院状态值与后端进行比较(我必须将web元素与查询的o/p进行比较,以查看是否所有查询都在ui上正常工作)。挑战是如何确定调用哪个查询,因为这是动态的。例如,如果只存在18-40岁的查询,则该查询将是我的单元格(0),因此单元格(1)和单元格(2)应匹配来自db的查询。。。