python+selenium+pyperclip+pyautogui右键另保存文件
功能描述
收到上级指示,需要对指定网站的数据进行下载。于是,开始分析该网站。该网站是多级目录结构,文件包括txt文档,json文件,jpg、png等格式图片。
特点:该网站中文件无法指定点击链接下载,需要点入文件的html页面后使用鼠标右击保存文件。
在网上参考了一些代码后,有了如下的代码,实现我需要的功能,特此记录下来。
代码实现
"""
结合deom1和demo6,demo5的功能
1.循环用chrome驱动模拟登录网站
2.将网站的数据地址从指定txt文件中读取出来
3.下载数据从网站,根据读取到的地址
"""
from selenium import webdriver
import time
import random
import pyperclip,pyautogui
import os
import numpy as np
files_path = 'W:\\python_task\\files_path\\APCdata\\APCdata.txt'
web_lis = np.loadtxt(files_path,delimiter='\n',dtype=str)
root_path = 'W:\\python_task\\data\\'
for web in web_lis:
"""
可以加一个记录文件,记录已写入的信息,方便下次接着写
"""
driver = webdriver.Chrome()
driver.maximize_window()
# driver.get(web)
time.sleep(random.randint(1,5))
#*******************demo5 start**********************#
driver = webdriver.Chrome()
# 窗口最大化
driver.get(web)
time.sleep(random.randint(2, 5))
# 鼠标移动到图片位置,右键点击
pyautogui.rightClick(x=300, y=500)
if web.endswith('.txt') or web.endswith('.json') or web.endswith('.json_20160523230107'):
# 输入A,选择保存.txt文件、图片
pyautogui.typewrite(['A'