2

我正在尝试单击表格单元格中的法师,图像没有 id、类名等。img html 是:

img src="/Framework/images/moredetails.gif"

我正在使用以下 CSS 路径:

html body div#minwidth div#outer_wrapper div#wrapper div#container div#content div#main div.maincontentarea div#top_contentbox div#top_tablewrapperdivtab form div#AddEdit response div.contentbox1 div.contentbox div#Accepted.tablewrapperdivtab div.scrolldiv div#AcceptedDetails table.tablelist tbody#detailBody tr td img

我尝试使用 xpath:

//*[@id='detailBody']/tr[1]/td[16]/img

我不想使用上面的 xpath,因为将来如果单元格没有。改变了,xpath 也需要改变。他们是处理上述问题的最佳方法吗?

4

1 回答 1

1

试试下面的xpath:

"//img[contains(@src,'/TCSFramework/images/moredetails.gif')]"

对于所有img标签,您将使用其src值中包含“/TCSFramework/images/moredetails.gif”的标签。


许多图像具有相同的 src ?没问题。

您可以使用所有 img 建立一个列表,例如:

List<WebElement> listImg = driver.findElements(By.xpath("//img[contains(@src,'/TCSFramework/images/moredetails.gif')]"));

得到你的所有之后img,如果你知道他的位置顺序(在 html 中)喜欢什么

<img> position 0 </img>
<img> position 1 </img> <----- you want that img
<img> position 2 </img>

你会写类似的东西(你在位置 1 得到 img 并点击它)

listImg.get(1).click();

但是,如果您不知道他的位置顺序(在 html 中),您需要在 xpath 中添加条件,例如名称是否包含特定值或类特定于 img。

您可以发布您的 img html 行吗?(如果问题没有解决)


我有一个 cssSelector 给你,试试看,告诉我发生了什么:

CSS:"#detailBody tr:first-child td:nth-child(16) img"

于 2013-04-26T09:34:41.307 回答