从网页下载文件显示文件损害计算机的解决方案

您所在的位置:网站首页 浏览器阻止从站点下载文件到您的计算机 从网页下载文件显示文件损害计算机的解决方案

从网页下载文件显示文件损害计算机的解决方案

2024-07-13 15:24| 来源: 网络整理| 查看: 265

现象: 在这里插入图片描述

解决方案:

到谷歌浏览器的【下载内容】页面选择文件是否保留

from selenium import webdriver import time import win32con import win32api br.get('chrome://downloads/') js = "return document.querySelector('downloads-manager').shadowRoot.querySelector('#frb0')" \ ".shadowRoot.querySelector('#dangerous').querySelector('div[role=gridcell]:nth-child(2)>cr-button')" a = br.execute_script(js) a.click() time.sleep(1) win32api.keybd_event(0x28, 0, 0, 0) win32api.keybd_event(0x28, 0, win32con.KEYEVENTF_KEYUP, 0) time.sleep(1) win32api.keybd_event(0x0D, 0, 0, 0) win32api.keybd_event(0x0D, 0, win32con.KEYEVENTF_KEYUP, 0)

在这里插入图片描述

代码解析:

第29行:跳转到谷歌浏览器的下载内容页面 第30行:使用DOM querySelector()获取DOM元素,不需要额外的JQuery支持,语法类似。获取页面的【保留】元素 第32行:执行JavaScript,返回【保留】按钮对象 第33行:对【保留】对象执行点击操作,弹出系统对话框【确认下载】 第36行:模拟键盘操作,按下键盘上的【DOWN】,使得对话框选中【仍然保留】按钮 第37行:模拟键盘操作,松开键盘上的【DOWN】 第39行:模拟键盘操作,按下键盘上的【ENTER】,模拟点击【仍然保留】按钮 第40行:模拟键盘操作,松开键盘上的【ENTER】 至此即可完成文件的下载保留操作。

注意事项 【下载内容】页面源码中使用了#shadow-root封装,使用selenium的xpath定位方式无法定位到元素;需借助DOM querySelector()获取元素。 win32api.keybd_event()传入的键码可以是十进制可以是十六进制,若想操作键盘第二功能键则需要按下shift和功能键,然后再松开shift和功能键键码值对应关系 按键十进制键码十六进制键码A650x41B660x42C670x43D680x44E690x45F700x46G710x47H720x48I730x49J740x4aK750x4bL760x4cM770x4dN780x4eO790x4fP800x50Q810x51R820x52S830x53T840x54U850x55V860x56W870x57X880x58Y890x59Z900x5a0480x301490x312500x323510x334520x345530x356540x367550x378560x389570x39ENTER130x0dBackSpace80x08Tab90x09Shift160x10Ctrl170x11Alt180x12Left Arrow370x25Right Arrow390x27Up Arrow380x26Down Arrow400x28Delete460x2eF11120x70F21130x71F31140x72F41150x73F51160x74F61170x75F71180x76F81190x77F91200x78F101210x79F111220x7aF121230x7b


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3