我正在学习用硒刮网。检查显示我正在搜索的元素具有类名称“电影链接”。这是我的代码:
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
答案 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"))