Как щелкнуть значок «Удалить» в соответствии с идентификатором, указанным в excel через selenium Webdriver - PullRequest
0 голосов
/ 25 июня 2018

У меня есть страница с таблицей, содержащей сведения о пользователях, и я хочу нажать на значок удаления после извлечения идентификатора из Excel. Для этого используются веб-драйвер Selenium и Java.Я использую этот код для извлечения имени из Excel: -

data.getPatientID().get(rowCnt);

HTML-код таблицы: -

<tr class="rgRow" id="ctl00_ContentPlaceHolder1_GridUserControl1_RadGrid1_ctl00__0">
<td>PAT 033</td>
<td><a id="ctl00_ContentPlaceHolder1_GridUserControl1_RadGrid1_ctl00_ctl04_lbtnLastname" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$GridUserControl1$RadGrid1$ctl00$ctl04$lbtnLastname','')">Bee</a></td>
<td>&nbsp;</td>
<td>Barry</td>
<td>(833)833-8338</td>
<td>Frisco</td>
<td>physician new </td>
<td><a onclick="if(!confirm('Do you want to delete this record'))return false;" id="ctl00_ContentPlaceHolder1_GridUserControl1_RadGrid1_ctl00_ctl04_Remove" class="closeBtn" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$GridUserControl1$RadGrid1$ctl00$ctl04$Remove','')"></a></td>

Любая помощь будет оценена. введите описание изображения здесь

Текст в **** - это имя и кнопка удаления.

Ответы [ 3 ]

0 голосов
/ 25 июня 2018

В соответствии с HTML , который вы указали, нажмите значок удаления , вы можете создать функцию, которая будет принимать аргумент в виде name например Альберт и нажмите на значок удаления следующим образом:

public void clickDeleteIcon(String fname)
{
    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//tr[@class='rgRow'][contains(@id,'_ContentPlaceHolder1_GridUserControl1_RadGrid1_')]//following::td[2]/a[.='" + fname + "']//following::a[1]"))).click();
}

Теперь, чтобы нажать значок удаления , вы можете вызвать функцию clickDeleteIcon(String fname), передаваялюбое из имен следующим образом:

clickDeleteIcon("Albert");
//or
clickDeleteIcon("Bee")
0 голосов
/ 26 июня 2018

Да, подход к нажатию на кнопку «Удалить» заключается в применении условия ожидания, которое всегда применимо в вашем случае, если оно не является именем.

0 голосов
/ 25 июня 2018

На основе общего HTML-кода существует только одна интерактивная ссылка с именем Альберт .

. В этом случае вы можете использовать linkText :

driver.findElement(By.linkText("Albert")).click()

Обратите внимание, что кнопка удаления отсутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...