Details:
Currently I am writing within a project based on Magento Cloud test cases with Python-Selenium. So far everything is fine. Currently I only have one problem, which I can’t explain anymore.
Actually it’s only about the verification of a text. Or the verification of a block title within a profile page.
I would like to secure multiple times, and thus define 2 different test cases.
issues
I always get the following message.
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
(Session info: chrome=78.0.3904.108)
The Source
#Verify My Account
driver.get("https:my-url.de")
try: self.assertEqual("Account Information", driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='My Account'])[4]/following::strong[1]").text)
except AssertionError as e: self.verificationErrors.append(str(e))
self.assertEqual("Account Information", driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='My Account'])[4]/following::strong[1]").text)
Questions:
2
Answers
Please try webdriver wait for visibility of element so the element will get time to load in dom properly, it will prevent it from to become stale element.
The relevant HTML in text format would have helped to construct a canonical answer. However, you were close. To assert the block title within the profile page you have to you need to induce WebDriverWait for the
visibility_of_element_located()
and you can use the following Locator Strategies:Using
CSS_SELECTOR
andtext
attribute:Using
XPATH
andget_attribute("innerHTML")
:Note : You have to add the following imports :