>想象一下我想要断言或验证任何文本字段的情况。我使用脚本在字段中键入任何文本,并且我想验证/断言它是否正确填充在正确的位置。
我已经尝试过 funcion "包含文本",但如果它没有出现在代码中该怎么办,例如文本字符串,例如某些文本。
实际上适用于代码中的预定义文本字符串:
element = driver.find_element_by_xpath('//*[contains(text(),"Sample text")]').text
assert element.strip() == "Sample Text"
输入值并断言诱导webdriverwait
和get_attribute("value")
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
driver=webdriver.Chrome()
driver.get("https://boxing-registration.herokuapp.com/")
nameval="Luke Teensie"
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"#name-input"))).send_keys(nameval)
returnval=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"#name-input"))).get_attribute("value")
assert returnval == nameval
使用 XPATH 进行了更新。
driver.get("https://boxing-registration.herokuapp.com/")
nameval="Luke Teensie"
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//input[@id='name-input']"))).send_keys(nameval)
returnval=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//input[@id='name-input']"))).get_attribute("value")
assert returnval == nameval