• DEVHIDE
        • Home (current)
        • About
        • Contact
        • Cookie
        • Home (current)
        • About
        • Contact
        • Cookie
        • Disclaimer
        • Privacy
        • TOS
        Login Or Sign up

        Unable to trace an element by attribute or text

        88 Views Asked by k.horde At 11 June 2015 at 13:34 2025-12-11T17:49:20.871034

        I am having trouble with clicking at an element of a menu which is written like this:

        <div class="menu">
        <ul class="tabs ctrlTabsProfile">
        <li class="active" data-tab="tabDetail">User Details</li>
        <li data-tab="tabEmail">Email</li>
        <li data-tab="tabPass">Change password</li>
        <li data-tab="tabAdress">Account Details</li>
        </ul>
        </div>
        

        I have tried these:

        driver.findElement(By.linkText("Account Details")).click();
        driver.findElement(By.cssSelector("li[data-tab=tabAdress")).click();
        driver.findElement(By.xpath("li[data-tab='tabAdress']")).click();
        

        also tried listing the elements but got null only :

        for(WebElement el : driver.findElements(By.cssSelector(".tabs.ctrlTabsProfile"))) {
        
                try {
                    assertTrue(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Account Details[\\s\\S]*$"));
                } catch (Error e) {
                    System.out.println("Not found: \"Account Details\".");
                  }
        
            String s = el.getAttribute("data-tab");
            System.out.println(s);
            if(s.equals("tabAdress")) {
                driver.findElement(By.xpath("li[data-tab='tabAdress']")).click();
            }
           }
        

        Solutions? Sugestions? Errors?

        java testing selenium-webdriver webdriver
        Original Q&A
        2

        There are 2 best solutions below

        1
        aholt aholt On 11 June 2015 at 14:33 BEST ANSWER

        Well, for one, your xpath selector is incorrect.

        driver.findElement(By.xpath("li[data-tab='tabAdress']")).click();
        

        should be:

        driver.findElement(By.xpath("//li[@data-tab='tabAdress']")).click();
        

        edit:

        And your css selector is incorrect as well.

        driver.findElement(By.cssSelector("li[data-tab=tabAdress")).click();
        

        should be:

        driver.findElement(By.cssSelector("li[data-tab='tabAdress']")).click();
        

        edit #2:

        and:

        driver.findElement(By.linkText("Account Details")).click();
        

        will only work if the element is a link, which in this case it is not.

        1
        Aru Aru On 11 June 2015 at 20:55

        Aholt is right, driver.findElements(By.cssSelector(".tabs.ctrlTabsProfile")) will return only ul elements. To access all <li>, you could try:

        driver.findElements(By.cssSelector("ul.tabs.ctrlTabsProfile li.active"))
        

        Related Questions in JAVA

        • Add image to JCheckBoxMenuItem
        • How to access invisible Unordered List element with Selenium WebDriver using Java
        • Inheritance in Java, apparent type vs actual type
        • Java catch the ball Game
        • Access objects variable & method by name
        • GridBagLayout is displaying JTextField and JTextArea as short, vertical lines
        • Perform a task each interval
        • Compound classes stored in an array are not accessible in selenium java
        • How to avoid concurrent access to a resource?
        • Why does processing goes slower on implementing try catch block in java?
        • Redirect inside java interceptor
        • Push toolbar content below statusbar
        • Animation in Java on top of JPanel
        • JPA - How to query with a LIKE operator in combination with an AttributeConverter
        • Java Assign a Value to an array cell

        Related Questions in TESTING

        • How does Robot's Telnet library work?
        • Behat doesn't load extensions?
        • Load additional CONFIG file with values
        • rails controller test failing non-deterministicly wrt state leak (I think)
        • Ordering tests using trial twisted
        • Unexcepted failed Gavel/Dredd test
        • How to use Jasmine and CucumberJS with Protractor
        • Django login tests session problems
        • How to mock specific RequireJs dependencies while unit testing
        • Test case for WCF REST Service
        • how to test this business logic
        • Protractor - How to get first or last CHILD value
        • Factory Not Registered in rspec but found in console
        • Pick out certain lines from files
        • Selenium stops running after click() function runs

        Related Questions in SELENIUM-WEBDRIVER

        • How to access invisible Unordered List element with Selenium WebDriver using Java
        • Fail Upload file in Selenium webdriver using Robot class
        • How do I use DataProvider with Apache POI
        • I am not able to get Exact frame and not able to select exact element using selenium web drive
        • Selenium C#: Store element's position on graph as a variable
        • Selenium webdriver for handling dynamic ckeditors
        • Easy to use multi browser automation tool for record, parameterize, debug, batch run of suites and results report
        • Not able to select option from dropdown box in an android mobile application
        • What can cause `UnreachableBrowserException: Could not start a new session`?
        • Click on the 'compose' button in gmail inbox page
        • python - selenium change frame not working
        • How to select value from dropdown and double click on same selected item in selenium webdriver.?
        • Selenium Firefox webdriver does not adopt profile
        • Cannot assign an inst variable in Switch "--user-data-dir" in Selenium Wedriver Chrome
        • Phantomjs fails when Protractor is run with selenium hub

        Related Questions in WEBDRIVER

        • How to hide iOS Keyboard with Leadfoot / Appium / Webdriver?
        • What can cause `UnreachableBrowserException: Could not start a new session`?
        • Click on the 'compose' button in gmail inbox page
        • how to get a text string from
        • How to open webdriver multiple chrome driver in different position of monitor?
        • Two empty instances of firefox browser opens testng selenium webdriver
        • Selenium Webdriver http.client.BadStatusLine: ' ' error?
        • Selenium WebDriver - Unexpected modal dialog Alert
        • How to disable Reader View in Firefox using webdriver
        • How to select a "Colour" for a field value and scroll parameter value of a field?
        • Selenium webdriver: element.clear() not clearing the textbox values sometimes
        • Appium waitForElementByName always returns state: pending
        • How to exclude some selenium test cases from the package?
        • Unable to trace an element by attribute or text
        • how to use List<WebElement> webdriver

        Trending Questions

        • UIImageView Frame Doesn't Reflect Constraints
        • Is it possible to use adb commands to click on a view by finding its ID?
        • How to create a new web character symbol recognizable by html/javascript?
        • Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
        • Heap Gives Page Fault
        • Connect ffmpeg to Visual Studio 2008
        • Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
        • How to avoid default initialization of objects in std::vector?
        • second argument of the command line arguments in a format other than char** argv or char* argv[]
        • How to improve efficiency of algorithm which generates next lexicographic permutation?
        • Navigating to the another actvity app getting crash in android
        • How to read the particular message format in android and store in sqlite database?
        • Resetting inventory status after order is cancelled
        • Efficiently compute powers of X in SSE/AVX
        • Insert into an external database using ajax and php : POST 500 (Internal Server Error)

        Popular # Hahtags

        javascript python java c# php android html jquery c++ css ios sql mysql r reactjs

        Popular Questions

        • How do I undo the most recent local commits in Git?
        • How can I remove a specific item from an array in JavaScript?
        • How do I delete a Git branch locally and remotely?
        • Find all files containing a specific text (string) on Linux?
        • How do I revert a Git repository to a previous commit?
        • How do I create an HTML button that acts like a link?
        • How do I check out a remote Git branch?
        • How do I force "git pull" to overwrite local files?
        • How do I list all files of a directory?
        • How to check whether a string contains a substring in JavaScript?
        • How do I redirect to another webpage?
        • How can I iterate over rows in a Pandas DataFrame?
        • How do I convert a String to an int in Java?
        • Does Python have a string 'contains' substring method?
        • How do I check if a string contains a specific word?
        .

        Copyright © 2021 Jogjafile Inc.

        • Disclaimer
        • Privacy
        • TOS
        • Homegardensmart
        • Math
        • Aftereffectstemplates