I am trying to search for an element in a sub-element with Selenium (Version 2.28.0), but selenium do not seem to limit its search to the sub-element. Am I doing this wrong or is there a way to use element. find to search a sub-element?
For example, I created a simple test webpage with this code:
<div class=div title=div1>
<h1>My First Heading</h1>
<p class='test'>My first paragraph.</p>
<div class=div title=div2>
<h1>My Second Heading</h1>
<p class='test'>My second paragraph.</p>
<div class=div title=div3>
<h1>My Third Heading</h1>
<p class='test'>My third paragraph.</p>
My python (Version 2.6) code looks like this:
from selenium import webdriver
driver = webdriver.Firefox()
# Open the test page with this instance of Firefox
# element2 gets the second division as a web element
element2 = driver.find_element_by_xpath("//div[@title='div2']")
# Search second division for a paragraph with a class of 'test' and print the content
# expected output: "My second paragraph."
# actual output: "My first paragraph."
If I run:
It returns the HTML from the second division. So selenium is not limiting its search to element2.
I would like to be able to find a sub-element of element2. This post suggests my code should work Selenium WebDriver access a sub element but his problem was caused by a time-out issue.
Can anyone help me understand what is happening here?