Python+Selenium如何实现从本地选择文件上传可难为了我这个小菜鸟。通过查阅资料发现可以借助Autolt工具实现,因为是刚开始学,也不确定这种方式是不是最好的==,仅供大家参考
1.使用Autolt创建应用程序
1.下载并安装Autoit
https://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe
2.安装成功后打开AutoIt Windows Info识别弹框信息
3.打开SciTE Script Editor,根据弹框编写脚本

WinActivate("打开");
ControlSetText("打开", "", "Edit1", "F:\个人文档\素材\素材\小icon\momo.jpg" );
Sleep(2000);
ControlClick("打开", "", "Button1");
4.Compile Script to.exe 用于将AutoIt生成执行文件
该步骤成功执行后,生成文件modifyPic.exe
5.Run Script 用于执行AutoIt脚本验证功能是否生效
如果生效,则开始编写代码
2.在代码中引用
以下是csdn上传头像实例
# -*- coding: utf-8 -*-
#sample02.py
import configparser
import os
from selenium import webdriver
import time
PostUrl = "https://i.youkuaiyun.com/#/uc/profile"
# 用浏览器实现访问
driver = webdriver.Chrome()
driver.get(PostUrl)
time.sleep(3)
driver.find_element_by_xpath('/html/body/div[4]/div/div/div[2]/div/h3/a').click()
time.sleep(3)
driver.find_element_by_id('username').send_keys("******@163.com")
driver.find_element_by_id('password').send_keys("******")
driver.find_element_by_class_name('logging').click()
time.sleep(5)
driver.find_element_by_class_name("modify").click()
driver.find_element_by_class_name("vicp-drop-area").click()
time.sleep(2)
os.system("F:\\script\\modifyPic.exe")
time.sleep(5)
driver.find_element_by_class_name("vicp-operate-btn").click()

本文介绍了一种利用Selenium与Autoit结合的方法,实现了自动化从本地选择文件进行上传的功能。首先,通过Autoit工具创建应用程序,编写并执行脚本来激活窗口、设置文件路径及点击确认按钮。然后,在Python代码中调用生成的exe文件,完成在优快云网站上传头像的自动化操作。
1049

被折叠的 条评论
为什么被折叠?



