首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硒css_selector斗争

硒css_selector斗争
EN

Stack Overflow用户
提问于 2017-05-10 09:47:26
回答 1查看 151关注 0票数 0

我有个css选择器

#block-a4e7-et-lists-a4e7-et-lists-content > div > div > div.row > div.col-md-9.col-sm-12.col-lg-9.col-xs-12 > div > div.a4e7-fw-pagination > div:nth-child(5)

在网页上

在…

但是,即使经过长期的挣扎,我仍然无法使用python中selenium的driver.find_element_by_css_selector()函数来访问它。

你能帮我做这个吗?

最佳安打

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-10 09:54:40

选择器本身太脆弱,因为:

  • 它在很大程度上依赖于直接的父-子关系以及页面的结构。
  • 它使用面向布局的类(如col-xs-12 ),这些类通常过于宽泛,并且更有可能被更改。

相反,我使用以下CSS选择器:

代码语言:javascript
复制
.content .a4e7-fw-pagination > div:nth-child(5)

您可能也遇到了时间问题--当您搜索元素时,元素还没有出现。解决这类问题的常见方法是使用显式等待。具体而言,在您的案例中,您可能有以下内容:

代码语言:javascript
复制
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

wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".content .a4e7-fw-pagination > div:nth-child(5)")))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43888900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档