Python Selenium Xpath 获取文本

Python Selenium Xpath get text

请问我如何在这个 xpath 中找到文本 Invalid email address.

 driver.find_element_by_xpath(".//*[@id='create_account_error']/ol/li")

并用断言验证?

你可以查看这个网站 - http://automationpractice.com/index.php?controller=authentication

在 "CREATE AN ACCOUNT tab" 中输入错误的电子邮件地址,然后单击 "Create an account",您将看到一条错误消息。

如何使用 xpath 验证此错误消息以制作示例测试用例?

我给你的示例代码可以满足你的要求,相应地把它放在测试用例中。

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

url="http://automationpractice.com/index.php?controller=authentication"

driver =webdriver.Chrome()
driver.maximize_window()

driver.get(url)

driver.find_element(By.ID,'email_create').send_keys("This is Test")

driver.find_element(By.ID,'SubmitCreate').click()

WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "#create_account_error > ol > li")))

ele=driver.find_element(By.CSS_SELECTOR,'#create_account_error > ol > li')
assert ele.text == 'Invalid email address.'

driver.quit()

试试这个:

expected_text = 'Invalid email address.'
elem = driver.find_element_by_xpath(".//*[@id='create_account_error']/ol/li")
assert elem.text == expected_text

希望对您有所帮助。