通过css选择器定位元素

问题描述 投票:2回答:2

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

  1. 右键单击该对象
  2. 检查
  3. 右键单击chrome developer工具中突出显示的区域
  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”)

什么地方出了错?

python css selenium css-selectors
2个回答
2
投票

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

希望这对你有所帮助!


1
投票
$("#home-page .banner-container .banner-btns").find("div")

要找到一个元素,你必须使用jquery选择器,在这里我们遍历结束div,即.banner-btns和tryong在其中找到div。可能这个解释工作

© www.soinside.com 2019 - 2024. All rights reserved.