分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

webdriver高级应用- 右键另存为下载文件

发布时间:2023-09-06 01:48责任编辑:苏小强关键词:暂无标签

1.要使用右键另存,需要先按照第三方工具AutoIt:

链接: https://pan.baidu.com/s/12aBBhOOTmyQpH9hukt0XGA 密码: fcdk

2.创建一个名为loadFile.au3的AutoItScript编辑器,内容如下:

新建一个名为loadFile.au3的AutoItScript编辑器,文件具体内容如下:;ControlFocus("title","text",controlID);表示将焦点切换到标题为title窗体中的controlID上;Edit1表示第一个可以编辑的实例;title表示弹出的Window窗口标题,不同浏览器的标题可能不一样ControlFocus("请输入要保存的文件名...","","Edit1");等待10秒以便window窗口加载成功WinWait("[CLASS:#32770]","",10);将焦点切换到Edit1输入框中ControlFocus("另存为","","Edit1");等待2秒Sleep(2000);将要下载的文件名及路径写入Edit1编辑框中ControlSetText("另存为","", "Edit1", "d:\iDownload\Firefox Setup 35.0b8.exe")Sleep(2000);点击窗体中的第一个按钮,也就是保存按钮ControlClick("另存为","","Button1")保存后将该文件编译成exe文件,并存放到本地磁盘。

3.将该内容保持后,编译成exe文件,并存放到本地磁盘。

保存后的内容可下载文件:

链接: https://pan.baidu.com/s/13OWAiVMuSy_fW8PXTe_f5Q 密码: ry4k

4.编写python代码,实现右键保存:

# encoding=utf-8from selenium import webdriverimport unittest, time, osfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver import ActionChainsimport win32apiimport win32conVK_CODE ={‘enter‘:0x0D, ‘down_arrow‘:0x28}#键盘键按下def keyDown(keyName): ???win32api.keybd_event(VK_CODE[keyName], 0, 0, 0)#键盘键抬起def keyUp(keyName): ???win32api.keybd_event(VK_CODE[keyName], 0, win32con.KEYEVENTF_KEYUP, 0)class TestDemo(unittest.TestCase): ???def setUp(self): ???????#self.driver = webdriver.Ie(executable_path = "e:\\IEDriverServer") ???????self.driver = webdriver.Chrome(executable_path="e:\\chromedriver") ???def test_dataPickerByRightKey(self): ???????# 定义将要访问的网址 ???????url = "http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/35.0b8/win32/zh-CN/" ???????self.driver.get(url) ???????# 将窗口最大化 ???????self.driver.maximize_window() ???????# 暂停5秒,目的防止页面有一些多余的弹窗占据焦点 ???????time.sleep(5) ???????# 找到文本内容为“Firefox Setup 35.0b8.exe”超链接元素 ???????a = self.driver.find_element_by_link_text("Firefox Setup 35.0b8.exe") ???????time.sleep(2) ???????# 在找到的链接元素上模拟点击鼠标右键, ???????# 以便调出选择“另存为”选项的菜单 ???????ActionChains(self.driver).context_click(a).perform() ???????# 暂停2秒,防止命令执行太快 ???????time.sleep(2) ???????for i in range(4): ???????????# 循环按4次下箭头,将焦点切换到“另存为”选项上 ???????????# 不同浏览器此选项的位置可能不同 ???????????#a.send_keys(Keys.DOWN) ???????????keyDown("down_arrow") ???????????keyUp("down_arrow") ???????????print i ???????????time.sleep(2) ???????time.sleep(2) ???????# 当焦点切换到“另存为”选项上后,模拟点击回车键 ???????# 调出保存下载文件路径的Windows窗体 ???????keyDown("enter") ???????keyUp("enter") ???????time.sleep(3) ???????# 通过执行AutoIt编写的操作弹窗的Windows文件保存窗体 ???????# 完成文件保存路径的设置 ???????os.system("E:\API3\\upload_file1.exe") ???????# 等待文件下载完成,根据各自的网络带宽情况设定等待相应的时间 ???????time.sleep(5) ???def tearDown(self): ???????self.driver.quit()if __name__ == ‘__main__‘: ???unittest.main()

webdriver高级应用- 右键另存为下载文件

原文地址:https://www.cnblogs.com/qingqing-919/p/8716347.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved