我有一个包含表的页面,其中包含用户的详细信息,我想在从excel检索ID时单击删除图标。SeleniumWebdriver和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> </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>
任何帮助将不胜感激。enter image description here
****中的文本是名称和删除按钮。
答案 0 :(得分:0)
根据您共享的HTML,只有一个可点击链接,其名称为 Albert 。
在这种情况下,您可以使用 linkText :
driver.findElement(By.linkText("Albert")).click()
请注意,没有删除按钮。
答案 1 :(得分:0)
根据您共享的 HTML 点击删除图标,您可以创建一个函数,该函数将参数作为 name ,例如阿尔伯特,然后点击相应的删除图标,如下所示:
set.seed(123)
mydata <- data.frame(x = runif(10), y = runif(10))
edit_plot <- function(data) {
plot(data)
sel <- locator(n = 1)
if(is.null(sel)) return(TRUE)
dd <- (data$x - sel$x)^2 + (data$y - sel$y)^2
data[which.min(dd),] <- edit(data[which.min(dd),])
r <- edit_plot(data)
if(r) return(TRUE)
}
edit_plot(mydata)
现在点击删除图标,您可以调用函数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)
答案 2 :(得分:0)
是的,单击“删除”的方法是在条件上应用等待(如果不是名字的话)。