How to locate an element with div format in Selenium. getting error Unable to locate an element with the...












2















Below is the code :



<div class="footer-bottom-left">
<div class="campaignUser">Campaign User</div>
<div class="callLogLookUp">Call Log Look Up</div>
</div>


I have tried the below code in selenium:



driver.findElement(By.xpath(".//div[@class='footer-bottom-left'].//div[@class='callLogLookUp']")).click();`


enter image description here










share|improve this question





























    2















    Below is the code :



    <div class="footer-bottom-left">
    <div class="campaignUser">Campaign User</div>
    <div class="callLogLookUp">Call Log Look Up</div>
    </div>


    I have tried the below code in selenium:



    driver.findElement(By.xpath(".//div[@class='footer-bottom-left'].//div[@class='callLogLookUp']")).click();`


    enter image description here










    share|improve this question



























      2












      2








      2


      1






      Below is the code :



      <div class="footer-bottom-left">
      <div class="campaignUser">Campaign User</div>
      <div class="callLogLookUp">Call Log Look Up</div>
      </div>


      I have tried the below code in selenium:



      driver.findElement(By.xpath(".//div[@class='footer-bottom-left'].//div[@class='callLogLookUp']")).click();`


      enter image description here










      share|improve this question
















      Below is the code :



      <div class="footer-bottom-left">
      <div class="campaignUser">Campaign User</div>
      <div class="callLogLookUp">Call Log Look Up</div>
      </div>


      I have tried the below code in selenium:



      driver.findElement(By.xpath(".//div[@class='footer-bottom-left'].//div[@class='callLogLookUp']")).click();`


      enter image description here







      selenium selenium-webdriver selenium-chromedriver






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 27 '18 at 9:03







      Raishul Alam

















      asked Nov 27 '18 at 8:55









      Raishul AlamRaishul Alam

      125




      125
























          1 Answer
          1






          active

          oldest

          votes


















          1














          You missed dash in class name. Also you need to remove second dot (first is also not required). So instead of



          .//div[@class='footer-bottomleft'].//div[@class='callLogLookUp']


          try



          //div[@class='footer-bottom-left']//div[@class='callLogLookUp']


          You might also need to implement ExplicitWait:



          WebDriverWait wait = new WebDriverWait(driver, 10);
          wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']"))).click();





          share|improve this answer


























          • Tried : driver.findElement(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']")).click(); .. But it didnt worked

            – Raishul Alam
            Nov 27 '18 at 9:02













          • @RaishulAlam , Try updated answer. By the way are you sure that that div is clickable? It doesn't look like clickable element

            – Andersson
            Nov 27 '18 at 9:06











          • It worked . The updated code worked with no issues.. Thanks

            – Raishul Alam
            Nov 27 '18 at 9:12













          • The second double slash // is not needed... it can/should be /, i.e. //div[@class='footer-bottom-left']/div[@class='callLogLookUp']. This would be so much cleaner as a CSS selector ... div.footer-bottom-left > div.callLogLookUp. :)

            – JeffC
            Nov 27 '18 at 19:40











          • @JeffC , yes, but in this current case it doesn't really matter as parent div has no descendants, but children only. Also div.footer-bottom-left > div.callLogLookUp is not really the same as //div[@class='footer-bottom-left']/div[@class='callLogLookUp'], but //div[contains(@class, 'footer-bottom-left')]/div[contains(@class, 'callLogLookUp')]. CSS selector for the same should be div[class='footer-bottom-left'] > div[class='callLogLookUp']

            – Andersson
            Nov 27 '18 at 19:47











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53495875%2fhow-to-locate-an-element-with-div-format-in-selenium-getting-error-unable-to-lo%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          You missed dash in class name. Also you need to remove second dot (first is also not required). So instead of



          .//div[@class='footer-bottomleft'].//div[@class='callLogLookUp']


          try



          //div[@class='footer-bottom-left']//div[@class='callLogLookUp']


          You might also need to implement ExplicitWait:



          WebDriverWait wait = new WebDriverWait(driver, 10);
          wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']"))).click();





          share|improve this answer


























          • Tried : driver.findElement(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']")).click(); .. But it didnt worked

            – Raishul Alam
            Nov 27 '18 at 9:02













          • @RaishulAlam , Try updated answer. By the way are you sure that that div is clickable? It doesn't look like clickable element

            – Andersson
            Nov 27 '18 at 9:06











          • It worked . The updated code worked with no issues.. Thanks

            – Raishul Alam
            Nov 27 '18 at 9:12













          • The second double slash // is not needed... it can/should be /, i.e. //div[@class='footer-bottom-left']/div[@class='callLogLookUp']. This would be so much cleaner as a CSS selector ... div.footer-bottom-left > div.callLogLookUp. :)

            – JeffC
            Nov 27 '18 at 19:40











          • @JeffC , yes, but in this current case it doesn't really matter as parent div has no descendants, but children only. Also div.footer-bottom-left > div.callLogLookUp is not really the same as //div[@class='footer-bottom-left']/div[@class='callLogLookUp'], but //div[contains(@class, 'footer-bottom-left')]/div[contains(@class, 'callLogLookUp')]. CSS selector for the same should be div[class='footer-bottom-left'] > div[class='callLogLookUp']

            – Andersson
            Nov 27 '18 at 19:47
















          1














          You missed dash in class name. Also you need to remove second dot (first is also not required). So instead of



          .//div[@class='footer-bottomleft'].//div[@class='callLogLookUp']


          try



          //div[@class='footer-bottom-left']//div[@class='callLogLookUp']


          You might also need to implement ExplicitWait:



          WebDriverWait wait = new WebDriverWait(driver, 10);
          wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']"))).click();





          share|improve this answer


























          • Tried : driver.findElement(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']")).click(); .. But it didnt worked

            – Raishul Alam
            Nov 27 '18 at 9:02













          • @RaishulAlam , Try updated answer. By the way are you sure that that div is clickable? It doesn't look like clickable element

            – Andersson
            Nov 27 '18 at 9:06











          • It worked . The updated code worked with no issues.. Thanks

            – Raishul Alam
            Nov 27 '18 at 9:12













          • The second double slash // is not needed... it can/should be /, i.e. //div[@class='footer-bottom-left']/div[@class='callLogLookUp']. This would be so much cleaner as a CSS selector ... div.footer-bottom-left > div.callLogLookUp. :)

            – JeffC
            Nov 27 '18 at 19:40











          • @JeffC , yes, but in this current case it doesn't really matter as parent div has no descendants, but children only. Also div.footer-bottom-left > div.callLogLookUp is not really the same as //div[@class='footer-bottom-left']/div[@class='callLogLookUp'], but //div[contains(@class, 'footer-bottom-left')]/div[contains(@class, 'callLogLookUp')]. CSS selector for the same should be div[class='footer-bottom-left'] > div[class='callLogLookUp']

            – Andersson
            Nov 27 '18 at 19:47














          1












          1








          1







          You missed dash in class name. Also you need to remove second dot (first is also not required). So instead of



          .//div[@class='footer-bottomleft'].//div[@class='callLogLookUp']


          try



          //div[@class='footer-bottom-left']//div[@class='callLogLookUp']


          You might also need to implement ExplicitWait:



          WebDriverWait wait = new WebDriverWait(driver, 10);
          wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']"))).click();





          share|improve this answer















          You missed dash in class name. Also you need to remove second dot (first is also not required). So instead of



          .//div[@class='footer-bottomleft'].//div[@class='callLogLookUp']


          try



          //div[@class='footer-bottom-left']//div[@class='callLogLookUp']


          You might also need to implement ExplicitWait:



          WebDriverWait wait = new WebDriverWait(driver, 10);
          wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']"))).click();






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 27 '18 at 9:14

























          answered Nov 27 '18 at 9:01









          AnderssonAndersson

          38.8k103467




          38.8k103467













          • Tried : driver.findElement(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']")).click(); .. But it didnt worked

            – Raishul Alam
            Nov 27 '18 at 9:02













          • @RaishulAlam , Try updated answer. By the way are you sure that that div is clickable? It doesn't look like clickable element

            – Andersson
            Nov 27 '18 at 9:06











          • It worked . The updated code worked with no issues.. Thanks

            – Raishul Alam
            Nov 27 '18 at 9:12













          • The second double slash // is not needed... it can/should be /, i.e. //div[@class='footer-bottom-left']/div[@class='callLogLookUp']. This would be so much cleaner as a CSS selector ... div.footer-bottom-left > div.callLogLookUp. :)

            – JeffC
            Nov 27 '18 at 19:40











          • @JeffC , yes, but in this current case it doesn't really matter as parent div has no descendants, but children only. Also div.footer-bottom-left > div.callLogLookUp is not really the same as //div[@class='footer-bottom-left']/div[@class='callLogLookUp'], but //div[contains(@class, 'footer-bottom-left')]/div[contains(@class, 'callLogLookUp')]. CSS selector for the same should be div[class='footer-bottom-left'] > div[class='callLogLookUp']

            – Andersson
            Nov 27 '18 at 19:47



















          • Tried : driver.findElement(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']")).click(); .. But it didnt worked

            – Raishul Alam
            Nov 27 '18 at 9:02













          • @RaishulAlam , Try updated answer. By the way are you sure that that div is clickable? It doesn't look like clickable element

            – Andersson
            Nov 27 '18 at 9:06











          • It worked . The updated code worked with no issues.. Thanks

            – Raishul Alam
            Nov 27 '18 at 9:12













          • The second double slash // is not needed... it can/should be /, i.e. //div[@class='footer-bottom-left']/div[@class='callLogLookUp']. This would be so much cleaner as a CSS selector ... div.footer-bottom-left > div.callLogLookUp. :)

            – JeffC
            Nov 27 '18 at 19:40











          • @JeffC , yes, but in this current case it doesn't really matter as parent div has no descendants, but children only. Also div.footer-bottom-left > div.callLogLookUp is not really the same as //div[@class='footer-bottom-left']/div[@class='callLogLookUp'], but //div[contains(@class, 'footer-bottom-left')]/div[contains(@class, 'callLogLookUp')]. CSS selector for the same should be div[class='footer-bottom-left'] > div[class='callLogLookUp']

            – Andersson
            Nov 27 '18 at 19:47

















          Tried : driver.findElement(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']")).click(); .. But it didnt worked

          – Raishul Alam
          Nov 27 '18 at 9:02







          Tried : driver.findElement(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']")).click(); .. But it didnt worked

          – Raishul Alam
          Nov 27 '18 at 9:02















          @RaishulAlam , Try updated answer. By the way are you sure that that div is clickable? It doesn't look like clickable element

          – Andersson
          Nov 27 '18 at 9:06





          @RaishulAlam , Try updated answer. By the way are you sure that that div is clickable? It doesn't look like clickable element

          – Andersson
          Nov 27 '18 at 9:06













          It worked . The updated code worked with no issues.. Thanks

          – Raishul Alam
          Nov 27 '18 at 9:12







          It worked . The updated code worked with no issues.. Thanks

          – Raishul Alam
          Nov 27 '18 at 9:12















          The second double slash // is not needed... it can/should be /, i.e. //div[@class='footer-bottom-left']/div[@class='callLogLookUp']. This would be so much cleaner as a CSS selector ... div.footer-bottom-left > div.callLogLookUp. :)

          – JeffC
          Nov 27 '18 at 19:40





          The second double slash // is not needed... it can/should be /, i.e. //div[@class='footer-bottom-left']/div[@class='callLogLookUp']. This would be so much cleaner as a CSS selector ... div.footer-bottom-left > div.callLogLookUp. :)

          – JeffC
          Nov 27 '18 at 19:40













          @JeffC , yes, but in this current case it doesn't really matter as parent div has no descendants, but children only. Also div.footer-bottom-left > div.callLogLookUp is not really the same as //div[@class='footer-bottom-left']/div[@class='callLogLookUp'], but //div[contains(@class, 'footer-bottom-left')]/div[contains(@class, 'callLogLookUp')]. CSS selector for the same should be div[class='footer-bottom-left'] > div[class='callLogLookUp']

          – Andersson
          Nov 27 '18 at 19:47





          @JeffC , yes, but in this current case it doesn't really matter as parent div has no descendants, but children only. Also div.footer-bottom-left > div.callLogLookUp is not really the same as //div[@class='footer-bottom-left']/div[@class='callLogLookUp'], but //div[contains(@class, 'footer-bottom-left')]/div[contains(@class, 'callLogLookUp')]. CSS selector for the same should be div[class='footer-bottom-left'] > div[class='callLogLookUp']

          – Andersson
          Nov 27 '18 at 19:47




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53495875%2fhow-to-locate-an-element-with-div-format-in-selenium-getting-error-unable-to-lo%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Lallio

          Unable to find Lightning Node

          Futebolista