我已经在量角器中为日期选择器编写了选择日期的代码。但是这段代码无效。无法选择日期
var tbl = element(by.xpath(".//*[@id='content-wrapper']/div/div/div/div /div[1]/div/form/div[4]/div/p/div/ul"));
var rows=tbl.element(by.tagName("tr"));
var columns=rows.element(by.tagName("td"));
for(var i=0;i<columns.length;i++)
{
var st=columns.get(i).getText();
if(st.toEqual("13")){
columns.get(i).sendKeys(protractor.Key.ENTER);
}
console.log(st);
browser.sleep(3000);
}
答案 0 :(得分:0)
您放置的所有代码行都是承诺,因此您首先需要先解析每个代码才能使用结果。例如,columns.get(i).getText()
是一个Promise,您首先需要执行以下操作才能使用该值
columns.get(i).getText()
.then(function(tdText){
console.log('tdText = ',tdText);
});
您还可以对所有td
使用过滤方法,请参阅Protractor documentation:
// Get all the columns in a table, this will resolve in a ElementArrayFinder
// The filter will loop over each element in the ElementArrayFinder
$$('table td').filter(function(elem, index) {
// For each found td, get the text
return elem.getText().then(function(text) {
// when a match is found, return it, else go to the next element
return text === '13';
});
// If an element is found based on the text it will return an ElementArrayFinder
// with 1 result, get the first element and for example click on it
}).first().click();
希望这有帮助