Я пытаюсь найти элемент с помощью селектора CSS в Chrome, я сделал:
мой код:
CreateANewDetector = driver.find_element_by_css_selector("#home-page > div.banner-container > div.banner-btns > div")
однако результат будет таким:
Невозможно найти элемент {"method": css selector "," selector "," selector "div.banner-container> div.banner-btns> div")
что пошло не так?
$("#home-page .banner-container .banner-btns").find("div")
Чтобы найти элемент, вы должны использовать селектор jquery, и здесь мы переходим к концу div, т.е. .banner-btns и tryong, чтобы найти внутри него div. Пусть это объяснение сработает
Использование WebDriverWait может помочь в вашем случае, попробуйте:
WebDriverWait
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 url = 'https://url.com' driver = webdriver.Chrome('d:\\path\\to\\chromedriver.exe') driver.get(url) wait = WebDriverWait(driver, 10) create_a_new_detector = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#home-page > div.banner-container > div.banner-btns > div")))
Надеюсь, это поможет вам!