Based on the html provided this is the best answer we could give. However, if more html were provided, we could probably find a better way to do it. Remember that xpath is one of the slower methods of finding items in selenium. Also at the risk of sounding like a broken record, I prefer not to use the inner text to identify elements since that gets localized and your automation would not run in localized builds, and the text is much more likely to change than an actual unique identifier in the markup.
–
Sam WoodsFeb 24 '12 at 18:03

yes, as Tarun says, you can use xpath,
but in our project, it's usually a required action for developer to add IDs to each elements. because,sometimes the UI or the text may change, then you had to modify your test script.

Tests of this sort should test the app the way a user would use it -- that is, they should test as much as possible based on UI, not element IDs. Therefore, they should find buttons based on text, not ID. Yes, that will require changing the test when the display text changes, but that's a good thing -- since the tests ensure that the UI is as desired, a UI change should break them.
–
Marnen Laibow-KoserMar 4 at 4:46