我试图通过chrome中的CSS选择器来定位元素,我做到了:
我的代码是:
CreateANewDetector = driver.find_element_by_css_selector("#home-page >
div.banner-container > div.banner-btns > div")
但是,结果是:
无法找到元素{“方法”:css选择器“,”选择器“,”选择器“ div.banner-container> div.banner-btns> div“)
出了什么问题?
答案 0 :(得分: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 :(得分:1)
$("#home-page .banner-container .banner-btns").find("div")
要找到一个元素,您必须使用jquery选择器,在这里我们遍历到末尾div,即.banner-btns和tryong在其中查找div。也许这种解释有效