簡體   English   中英

如何判斷點擊了哪個按鈕?

[英]How to tell which button was clicked?

我有一個包含一些條目(名稱)的表。 在每個名稱上,我都有“編輯”按鈕。 我的問題是,所有編輯按鈕都具有相同的 ID。

例如,您知道如何單擊表中 10. person 的編輯按鈕嗎?

我們在使用 Selenium 時遇到了一個相關問題,不同之處在於我們不知道啟用 Ajax 的組件的 id 屬性值。 那是因為我們使用了 Wicket,它會在這種情況下生成動態 Id。

我所做的是讓 Wicket 添加一個名稱屬性,並在此屬性上使用 Selenium select 而不是 id。

您可以使用 CSS 選擇器並使用 nth-child 屬性。 例如,在 stackoverflow 主頁上,您可以使用以下 CSS 選擇器 select 第二個問題:

.container .question-summary:nth-child(2)

您也可以使用 XPath。 相同元素的 XPath 將是:

//div[@class='question-summary']/div[2]

首先,如果每個按鈕的 ID 相同,根據 HTML 規范,這是錯誤的。 每個 ID 對一個頁面應該是唯一的。 如果您不能使其唯一,您可能應該刪除該 ID。

您需要的聽起來可以通過使用 XPATH 來完成。

例如,您可以使用以下內容:

//table[@class='myTableClass']/tr[10]/td[4]/input

如果您正在搜索特定值,您可以使用“包含”:

//table[@class='myTableClass']//td[contains(., 'ABC')]../td[5]

這樣做是搜索值為ABC的表格單元格,然后搜索 select 該單元格的父級(行),然后 select 該行的第 5 個單元格。 您可以使用 Xpath 做很多事情。

有關 Xpath 的更多信息,請參見 此處的 Xpath 教程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM