首页 > 解决方案 > 通过 css 选择器定位元素

问题描述

我试图通过 chrome 中的 css 选择器定位一个元素,我做了:

  1. 右键单击对象
  2. 检查
  3. 右键单击chrome开发人员工具中的高亮区域
  4. 复制
  5. 复制选择器。

我的代码是:

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")

什么地方出了错?

标签: pythoncssseleniumcss-selectors

解决方案


使用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")))

希望这对你有帮助!


推荐阅读