我在表格中有3行,如结构,其中图像作为编辑按钮分别存在于所有3行但相同。要编辑该行,我需要点击该图像,但它具有以下属性:此id(1526885146519)是动态的。我需要逐个单击所有编辑按钮。我该怎么做才能点击它们?
<img src="../../../Intranet/Images/if_edit_173002.png"
onclick="fnEditRow(1526885146519);"
style="cursor: pointer; margin-right: 3px; margin-left: 3px; wdith; width:18px; height:18px;"
title="Eidt Item">
表行HTML属性 -
G450A1SK1200A00G450A1SK1200A00E-Active1668.70668.700.00Pending FRSM15062411200FRSM15062411200E-ACTIVE13107.003107.000.00Pending 31021200L - 31021200E-ACTIVE16.406.400.00Pending
答案 0 :(得分:0)
您可以使用x-path
或css-selector
找到它们。
可能的xpath是,
//img[@src="../../../Intranet/Images/if_edit_173002.png"]
//img[@src="../../../Intranet/Images/if_edit_173002.png" and @title="Edit Item"]
//img[@title="Edit Item"]
//img[starts-with(@onclick,'fnEditRow')]
css选择器
img[src="../../../Intranet/Images/if_edit_173002.png"]
img[title="Edit Item"]
或者如果它在表格标签下,则可以使用x-path,如
//table/tr/td[last()]/img
你可以使用web驱动程序的find元素来获取所有元素,并按照下面的说明循环它。
我在这里使用java,
List<WebElement> lstElements = driver.findElements(By.xpath("//img[@title=\"Edit Item\"]");
for(WebElement ele:lstElements){
ele.click();
//do other stuffs
}
或使用Index获取特定的索引元素,如
(//img[@src="../../../Intranet/Images/if_edit_173002.png"])[1] -- first edit button
(//img[@src="../../../Intranet/Images/if_edit_173002.png"])[2] -- second edit button
(//img[@src="../../../Intranet/Images/if_edit_173002.png"])[3] -- third edit button