无法取消具有动态ID的字段

时间:2017-10-05 06:50:41

标签: selenium

我必须使用Java检查此字段中的selenium自动化,但是每个新会话中的id字段都在变化。这些是使用hasdatepicker插件的两个日期的外部HTML: -

2 个答案:

答案 0 :(得分:0)

根据您的HTML,如下所示

First Field -  <input type="text" ng-model="pointsBank.pointsBankConfig.effStrtTsUI" size="30" customdatepicker="" required="" class="ng-pristine  hasDatepicker ng-empty ng-invalid ng-invalid-required ng-not-modified ng-touched" id="dp1507178659034"> 

Second Field-  <input type="text" ng-model="pointsBank.pointsBankConfig.effEndTsUI" size="30" customdatepicker="" required="" class="ng-pristine hasDatepicker ng-empty ng-invalid ng-invalid-required ng-not-modified ng-touched" id="dp1507184165531">

你可以尝试这个xpaths:

第一个字段

//input[contains(@id,'dp1507')][1]

 or 

//*[contains(text(),'First Field')]/input[1]

表示第二栏:

//input[contains(@id,'dp1507')][2]

or 

//*[contains(text(),'First Field')]/input[2]

请记住,请使用实际文字

更改文本“First Field”

答案 1 :(得分:0)

试试这个 -

第一场 -

//input[starts-with(@id,'dp')][@ng-model='pointsBank.poin‌​tsBankConfig.effStrt‌​TsUI']

第二场 -

//input[starts-with(@id,'dp')][@ng-model='pointsBank.pointsBankConfig.effEndTsUI']