使用硒检查时,大多数HTML元素为空

时间:2018-08-23 11:28:49

标签: python selenium selenium-webdriver web-scraping

我正在学习用硒刮网。检查显示我正在搜索的元素具有类名称“电影链接”。这是我的代码:

def get_movies(driver, name, scroll_num):
    elem = driver.find_element_by_class_name("form-control")
    elem.clear()
    elem.send_keys(name)
    elem.send_keys(Keys.RETURN)

    scroll_down(driver, scroll_num)

    return map(lambda x: x.get_attribute('href'), driver.find_elements_by_class_name('movie-link'))

driver.find_elements_by_class_name('movie-link')找不到任何内容,因此我(使用硒)检查了包含“电影链接”且其innerHTML为“占位符”的元素。

这是某种保护,还是我忘记了什么?

编辑: 我正在尝试解析http://imovies.cc

1 个答案:

答案 0 :(得分:1)

明确等待:

from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait

movies = WebDriverWait(driver,10).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, ".movie-link"))