#java #selenium-webdriver
#java #selenium-webdriver
Вопрос:
У меня есть квалификационная таблица, где, если первая запись сделана, она не может быть удалена, потому что это обязательное поле.И я хочу добавить еще несколько строк, чтобы добавить все мои данные о квалификации.Я ввожу описание изображения здесь, у меня есть прикрепленное изображение.Пожалуйста, помогите, я новичок в автоматизации.
Мне понравилось удалять существующую и добавлять строку с помощью цикла for, но тогда она не добавляет никакой новой строки, а также не выдает никаких ошибок.
for(int i =0; i < driver.findElements(By.xpath("//*[@class='icon-x-circle']")).size(); i ){
driver.findElement(By.xpath("//*[@class='icon-x-circle']")).click();
}
driver.findElement(By.className("icon-plus")).click();
driver.findElement(By.xpath("//option[@value='number:127'][contains(text(),'Graduate')]")).click();
driver.findElement(By.xpath("//*[@id="yearpassing0"]")).clear();
driver.findElement(By.xpath("//*[@id="yearpassing0"]")).sendKeys("02-2018");
System.out.println("date");
driver.findElement(By.xpath("//*[@id="educational"]/div/form/div/div[1]/table/tbody/tr/td[3]/div/input")).clear();
driver.findElement(By.xpath("//*[@id="educational"]/div/form/div/div[1]/table/tbody/tr/td[3]/div/input")).sendKeys("Mumbai");
driver.findElement(By.xpath("//*[@id="educational"]/div/form/div/div[1]/table/tbody/tr/td[4]/div/input")).sendKeys("60%");
time.delay(7);
WebElement uploadElement = driver.findElement(By.xpath("//*[@id="file0"]"));
time.delay(5);
uploadElement.sendKeys("D:\Preerti\Workspace\data.xlsx");
System.out.println("upload");
driver.findElement(By.xpath("//*[@id="educational"]//button[contains(text(), 'Save')]")).click();
И это HTML-код
<form ng-submit="addEducationDetails(userEducation);setApplyClass(3)" class="ng-pristine ng-valid">
<div class="inner-details">
<div class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
<th>Qualification*</th>
<!-- <th>Qualification Description</th> -->
<th>Passing Year*</th>
<th>Board/University</th>
<th>Grade/Score/Percentage</th>
<th>Attach Certificate</th>
<th></th>
</tr>
</thead>
<!-- <div class="form-group">
<label>Education</label>
<select class="form-control flat-control-inner" ng-model="list.typekey" >
<option value = ""> --Please Select-- </option>
<option data-ng-repeat="q in qualificationsList" value="{{q.levelId}}" ng-selected="q.levelId==list.typekey">{{q.qualificationName}}</option>
</select>
</div> -->
<tbody>
<!-- ngRepeat: list in userEducation -->
</tbody>
</table>
<div class="text-right adder">
<button class="btn btn-default btn-round-add" ng-click="addnewForEducation()"><i class="icon-plus"></i></button>
</div>
</div>
<div class="btn-cntnr">
<button class="btn btn-default btn-bluer" id="" type="submit">Save</button>
<a ng-click="cancel()">Cancel</a>
</div>
</div>
</form>
Я смогу добавить все сведения о квалификации.Он не показывает никаких ошибок.
Комментарии:
1. Вы пытаетесь просто нажать кнопку здесь?
Ответ №1:
Основываясь на предоставленном вами HTML, вы можете нажать кнопку , используя этот код:
driver.findElement(By.xpath("//button[contains(@class, 'btn-round-add')]")).click();