```python
import csv
import platform
import bs4,threading
import selenium,selenium.webdriver
import time
import re
import requests
import os
from selenium.webdriver.chrome.service import Service
from selenium import webdriver
from selenium.webdriver.common.by import By
URL="https://movie.douban.com/typerank?type_name=%E5%89%A7%E6%83%85&type=11&interval_id=100:90&action="
HEADES={"User-Agent":"Mozilla/5.0(Windows NT 10.0;WOW64) AppleeWebKit/537.36(KHTML,like Gecko chrome 157.0.2987.133 Safari 1537.36"}
class Movie:
def __init__(self,type):
self.img=None
self.name=None
self.type=type
self.rank=None
self.crew=None
self.rating=None
self.comment=None
def __repr__(self):
return "[电影]分类:%s、名称:%s、名次:%d、评分:%f、评论人数:%d、演员列表:%s、图片:%s"%\
(self.type,self.name,self.rank,self.rating,self.comment,self.crew,self.img)
def main():
s = Service("chromedriver.exe")
driver = webdriver.Chrome(service=s)
response=requests.get(url=URL,headers=HEADES)
option=webdriver.ChromeOptions()
option.add_argument("disable-infobars")
driver=webdriver.Chrome(chrome_options=option)
for item in range(5):
time.sleep(3)
target=driver.switch_to.frame('footer')
driver.execute_script("arguments[0].scrollIntoView();",target)
time.sleep(10)
time.sleep(10)
count=0
try:
for content in driver.find_elements(By.XPATH,"//div[@class='movie-content']"):
movie=Movie("剧情")
movie.img=content.find_element(By.CLASS_NAME,"movie-img").get_property("src")
if movie.img:
movie.name=content.find_element(By.CLASS_NAME,"movie-name-text").text
movie.rank=int(content.find_element(By.CLASS_NAME,"rank-num").text)
movie.crew=content.find_element(By.CLASS_NAME,"movie-crew").text.split("/")
movie.rating=float(content.find_element(By.CLASS_NAME,"rating_num").text)
movie.comment=int(re.sub("\D","",content.find_element(By.CLASS_NAME,"comment-num").text))
print(movie)
count+=1
if count>=10:
raise Exception("爬够了,休息")
except Exception as exp:
print(exp)
pass
if __name__=="__main__":
main()



首先,target=driver.switch_to.frame('footer'), 这句代码的意思是切换到一个名为footer的iframe。
你给出的图里面,其实是一个id为footer的div, 如果仅仅是div,那是不需要切换的,也不能够通过这个方式切换。