视频版教程:一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium
selenium可以模拟用户点击事件,以及控制浏览器前进,后退等操作。
下面是一个模拟百度搜索,点击下一页,控制浏览器后退,前进的案例。
import timefrom selenium import webdriver
from selenium.webdriver.common.by import By# 创建浏览器操作对象
browser = webdriver.Chrome()url = "https://www.baidu.com"browser.get(url)time.sleep(2)# 获取文本框的对象
input = browser.find_element(By.ID, "kw")# 在文本框中输入python
input.send_keys('python')time.sleep(2)# 获取百度一下的按钮
button = browser.find_element(By.ID, 'su')# 点击按钮
button.click()time.sleep(2)# 滑到底部
# js_bottom = 'window.scrollTo(0,document.body.scrollHeight)'
js_bottom = 'document.documentElement.scrollTop=10000'
js_top = 'document.documentElement.scrollTop=0'
browser.execute_script(js_bottom)time.sleep(2)browser.execute_script(js_top)time.sleep(2)# 获取下一页的按钮
next_button = browser.find_element(By.XPATH, '//a[@class="n"]')# 点击下一页
next_button.click()time.sleep(2)browser.execute_script(js_bottom)time.sleep(2)# 返回到前一个历史记录 相当于 浏览器的返回按钮
browser.back()time.sleep(2)# 返回到后一个历史记录 相当于 浏览器的前进按钮
browser.forward()browser.execute_script(js_bottom)time.sleep(2)# 退出
browser.quit()