html - double slash for xpath. Selenim Java Webdriver -


i using selenium webdriver. have doubt xpath.

if have following code example:

<div>      <div>            <div>                  <a>                       <div>                       </div>                  </a>            </div>      </div> </div> 

and want locate element in last <div>. think have 2 options xpath.

first option single slash:

driver.findelement(by.xpath("/div/div/div/a/div")).click(); 

second option using double slash (and here have doubt).

driver.findelement(by.xpath("//a/div")).click(); 

is going search in <a> directly, happens if html example code part of bigger code , in bigger code more "<a>"?. method exactly?

what happens example if this:

driver.findelement(by.xpath("//div")).click(); 

would looks if every <div> found in html code?

thanks lot

first of all, avoiding // right thing - so, first expression show perfect.

would looks if every <div> found in html code?

yes, exactly. xpath expression like

//div 

will select all div elements in document, regardless of are.

what happens if html example code part of bigger code , in bigger code more <a>?. method exactly?

then, let make html "bigger":

<div>      <a>          <p>c</p>      </a>      <div>            <div>                  <a>                       <div>a</div>                  </a>            </div>            <a>                <div>b</div>            </a>      </div> </div> 

as can see, have added 2 more a elements - 1 of them contains div element. assuming new document input, there difference between

/div/div/div/a/div 

which select only <div>a</div> result, and

//a/div 

which select both <div>a</div> , <div>b</div> - because exact position of a in tree irrelevant. none of them select first a element contains p.


Comments

Popular posts from this blog

php - failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request -

java - How to filter a backspace keyboard input -

java - Show Soft Keyboard when EditText Appears -