KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a GWT application for which I'm trying to write some tests using Selenium . I'm using XPath to identify the elements on the page for the tests. Using id won't work as the id values are auto-generated by GWT and can change. Things started going well when I realised I could find buttons by their labels as follows: //button[.='OK'] However, when I started running multiple tests I started having problems. I realised that the issue was all the different "pages" of the GWT app once generated by the Javascript remain in the HTML in hidden <div> elements. This meant my Selenium tests were sometimes clicking hidden buttons instead of the button visible in the current view. Examining the HTML with Firebug , it seems that GWT hides the <div> elements by adding display: none to their style attribute. This means I can find all the hidden OK buttons as follows: //div[contains(@style,'display: none')]//button[.='OK'] This will find all the hidden OK buttons, i.e the buttons which have an ancestor <div> which is hidden by having display: none in the style . My question is: how do I use XPath to find only the visible OK buttons? How do I find the buttons which have no ancestor <div> elements with display: none in the style ?
Tags (comma-separated)
Save Edits
Cancel