我试图通过 chrome 中的 css 选择器来定位元素,我做到了:
- 右键单击该对象
- 检查
- 右键单击 Chrome 开发者工具中的高亮区域
- 复制
- 复制选择器。
我的代码是:
CreateANewDetector = driver.find_element_by_css_selector("#home-page >
div.banner-container > div.banner-btns > div")
但是,结果是:
Unable to locate element{"method":css selector","selector","selector" div.banner-container > div.banner-btns > div")
出了什么问题?
最佳答案
使用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")))
希望这对您有帮助!
关于python - 通过css选择器定位元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54887538/