2

テーブルセルにあるmageをクリックしようとしていますが、画像にはid、classnameなどがありません.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

将来、セルが no. が変更された場合、再度 xpath を変更する必要があります。上記を処理する最善の方法はありますか??

4

1 に答える 1

1

以下のxpathを試してください:

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

すべてのimgタグについて、値に「/TCSFramework/images/moredetails.gif」を含むものを使用しsrcます。


同じ 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 内の) 彼の位置順序がわからない場合は、名前に特定の値が含まれているか、クラスが img に固有であるかなど、xpath に条件を追加する必要があります。

img html 行を投稿できますか? (問題が解決しない場合)


私はあなたのために cssSelector を持っています。試してみて、何が起きているのか教えてください:

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

于 2013-04-26T09:34:41.307 に答える