selenium的作用就是操控浏览器模拟人的动作进行访问网页的操作
适合自动化测试,以及对于动态加载页面的网页进行爬虫代码的编写
这里以Chrome浏览器为例,只选择下载其中的一张图片为例,后面还可以优化再批量下载以及爬取全站数据等
运行结果演示:
完整代码(附详细注释):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/11/20 18:22
# @Author : huni
# @File : selenium自动化爬壁纸.py
# @Software: PyCharm
from selenium import webdriver
from time import sleep
from selenium.webdriver import ActionChains #导入动作链类
#实例化浏览器对象,传入浏览器对象的驱动程序
dri = webdriver.Chrome(executable_path='./chromedriver.exe')
# dri.maximize_window() #窗口最大化
#让浏览器发起一个指定url的请求
dri.get('https://bz.zzzmh.cn/')
sleep(3)
#找到二次元按钮
dri.find_element_by_xpath('//*[@id="app"]/div[1]/div[2]/ul[1]/li[3]/a').click()
sleep(8)
#找到其中的一个图片
right = dri.find_element_by_xpath('//*[@id="838kmo"]')
#找到保存按钮
save = dri.find_element_by_xpath('//*[@id="app"]/div[5]/ul[1]/li[3]')
#实例化动作链对象
action = ActionChains(dri)
#右键点击图片
action.context_click(on_element=right).perform()
sleep(2)
#点击保存
action.click(save).perform()
sleep(30)
print('完成')
#释放动作链
action.release()
sleep(3)
dri.quit()