python - 通过 css 选择器定位元素
问题描述
我试图通过 chrome 中的 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")
什么地方出了错?
解决方案
使用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")))
希望这对你有帮助!
推荐阅读
- mongodb - 在 kubernetes 中运行命令时正确转义引号
- git - BFG 回购清理器不会缩小特定的回购
- ios - 使用动态原型单元将 CloudKit 记录从 TableViewController A 传递到 TableViewControllerB
- java - x86 P6 上下文中的字节寄存器是什么?
- r - R中城市的热图?
- ruby-on-rails - 100多个点和一条折线,谷歌地图v3
- clojure - 无法使用 spacemacs 插入
- reactjs - How can I use less in create-react-app as variables
- xamarin.forms - 如何使用 xaml 绑定创建 If Else 条件
- c# - 将源中包含项目的对象映射到目标中的项目列表和目标中的 RowVersion