前面提到了一种可以使用鼠标悬浮的功能。
这里使用js逆向来进行滑动。
我们可以建立一个driver 对象,获取需要爬取部分div的宽高和位置。然后进行滑动 再去获取,相对的图片就可以啦。
from selenium import webdriver
#建立driver对象,我习惯叫browser
browser= webdriver.Chrome()
#定位到div
div_scroll=browser.browser.find_element(by=By.CSS_SELECTOR, value='.zbinfo_main_right_main_content>div>div>div')
#获取div的宽高和xy点坐标,可以使用rect函数
#div_scroll.rect
#我们可以根据爬取的页面出现的图片范围进行滑动,设置互动次数
for i in range(1,7):
j=i/6
#定位坐标y加上相对高度
high=div_scroll.rect.get('y')+div_scroll.rect.get('height')*j
#滑动js
js=f'''scrollTo(0,{high})'''
#执行js
browser.execute_script(js)
time.sleep(1)