Web抓取中的CSS选择器



我正在做Linkedin网页抓取作为我大学项目的一部分。这是定位技能的代码& &;推荐、推荐和成就部分:

skills = driver.find_elements_by_css_selector('#ember661')
recom = driver.find_elements_by_css_selector('#ember679')
acc = driver.find_elements_by_css_selector('#ember695')

但是我在所有三个变量中得到一个空列表。请帮助!

原因如下:

生成
  1. ID,并不是所有配置文件都相同。
  2. 你不应该期望一个元素列表。在配置文件页面上,每种类型都有一个单独的部分,因此将返回单个元素。
  3. 这些section可能被异步加载,因此页面被加载,但section尚未被加载。使定位器返回false。在这种情况下,您需要使用显式等待。:
waiter = WebDriverWait(driver, 10) 
skills = waiter.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '.pv-skill-categories-section')))
recom = waiter.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '.pv-recommendations-section')))
acc = waiter.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '.pv-accomplishments-section')))

相关内容

  • 没有找到相关文章