With Selenium, you normally use the ExpectedConditions class:
Selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
def test_element_is_visible():
driver = webdriver.Chrome()
wait = WebDriverWait(driver, timeout=10)
driver.get("https://qap.dev")
element = wait.until(EC.visibility_of_element_located(By.CSS_SELECTOR, "a[href='/about']"))
assert element.is_displayed()