让我们说我有以下tbody代表这个日历中的日历我有很多td里面有这样的文字:
<tbody>
<tr>
<td>31</td>
<td>1</td>
...
</tr>
<tr>
<td>8</td>
<td>9</td>
...
</tr>
</tbody>
让我们说我想点击特定月份的所有选项,而不点击移动到下个月或上个月的选项,我使用了这个
for (var i=1;i<32;i++){
element(by.css('body > div:nth-child(7) > div.calendar.left.single > div.calendar-table > table > tbody td')).element(by.buttonText(i)).click();
}
这是tbody
:body > div:nth-child(7) > div.calendar.left.single > div.calendar-table > table > tbody td
但是.element(by.buttonText(i)).click();
不起作用我想buttonText不适用于td
元素
编辑: 现在它的工作除了在迭代第二个循环时它给了我错误:元素在可见时不可见......
Page.js
var Page = function() {
var that = this;
//ELEMENTS
this.from = element(by.xpath('//*[@id="html"]/body/app/div/layout/div/app-tabs/div/div/div/div/app-tabs-page/app-tabs-page-content/tcmetadata/div/div/div[1]/div[1]/tc-filters/div/form[2]/div[1]/label/input'));
this.to = element(by.xpath('//*[@id="html"]/body/app/div/layout/div/app-tabs/div/div/div/div/app-tabs-page/app-tabs-page-content/tcmetadata/div/div/div[1]/div[1]/tc-filters/div/form[2]/div[2]/label/input'));
//EVENTS
this.clickElements = function(els){
els.each(function (el){
el.click();
});
}
this.clickElement = function(el){
el.click();
}
};
module.exports = new Page;
test.js:
var page = require('./Page');
it('should ask any question', function() {
for (var i=1;i<15;i++){
page.clickElement(page.from);
element(by.xpath('//*[@id="html"]/body/div[1]/div[1]/div[2]/table/tbody')).element(by.xpath('//td[text()='+i+']')).click();
for (var j=i; j<15;j++){
page.clickElement(page.to);
browser.sleep(1000);
element(by.xpath('//*[@id="html"]/body/div[2]/div[1]/div[2]/table/tbody')).element(by.xpath('//td[text()='+j+']')).click();
}
}
});
第一个循环有效但是当它进入第二个循环时我得到一个错误 &#34;元素不可见&#34;使用browser.sleep,我可以看到它的可见