Hi pretty much new to this and I've tried to verify title using selenium with python. The title im inputting is correct however the code isn't recognizing it. I've tried it 3 different ways but im either getting element not found, a string object error or the assert is failing even though the title of the page is correct. I've commented out the first 2 i've attempted but kept them in so you can see what I tried and got the error with:
from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\webdrivers\chromedriver.exe")
driver.get(url="http://demostore.supersqa.com/my-account/")
driver.implicitly_wait(5)
#assert "My account - DemoStore" in driver.title
#the above assert doesnt work gives element not found
#driver.title().contain("My account - DemoStore")
#the above assert doesnt work gets string object error
try:
assert 'My account - DemoStore' in driver.title
print('Assertion test pass')
except Exception as e:
print('Assertion test failed', format(e))
CodePudding user response:
There are 2 issues here:
- You have a problem with minus
-
sign inside the expected title content. It is not-
sign there. Please copy-paste the expected title content from the web page directly to your code and it will work! - You are missing indentations here.
This should work better:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome(executable_path="C:\webdrivers\chromedriver.exe")
wait = WebDriverWait(driver, 20)
driver.get(url="http://demostore.supersqa.com/my-account/")
#assert "My account - DemoStore" in driver.title
#the above assert doesnt work gives element not found
#driver.title().contain("My account - DemoStore")
#the above assert doesnt work gets string object error
try:
title = driver.title
assert 'My account – DemoStore' in title
print('Assertion test pass')
except Exception as e:
print('Assertion test failed', format(e))
driver.quit()