zoukankan      html  css  js  c++  java
  • selenium Python实现附件上传

    对于web页面的上传功能一般有两类实现方式:一类是将本地文件的路径作为一个值放在input标签中,通过form表单将这个值提交给服务器;另一个类是插件上传,一般基于flash/javascript或者Ajax等技术实现上传功能。

    一.input标签

    input标签可以直接通过send_keys()方法上传附件,具体方法可百度。以下重点说明基于Autolt实现上传的方法。

    二.基于Autolt实现上传

    1.下载并安装Autolt。官方网站:https://www.autoitscript.com/site/

    2.安装成功后打开AutoIt Windows Info工具。鼠标点击Finder Tool变成扇叶指针,按住鼠标左键拖动到待识别的控件(文件名),获取控件信息。获得的文件名信息,其中Basic Window info中Title为“打开”,Class是“#32770”;Basic Control info中Class是“Edti”,instance是“1”

    3.获取打开按钮的控件信息,方法同步骤2,记录获取到的信息

    4.打开SciTE Script Editor编辑器,根据获取到的控件信息,编写脚本

    WinWait()设置5秒用于等待上传窗口的显示
    ControlFocus()把输入焦点定位到上传文本框中
    ControlSetText()输入文件路径
    sleep 等待上传时间,单位毫秒
    ControllClick()点击打开按钮,开始上传

    5.脚本编写完成后,可通过Tools-->GO运行脚本,运行正常,将其保存为.au3格式

    6.打开Compile Script to.ext工具,将步骤5中生成的文件转换为exe可执行文件。

     生成如下文件

    7.通过自动化测试脚本调用up.exe文件

    #打开上传窗口
    driver.find_element_by_xpath("//*[@id='filePicker']").click()
    #调用up.exe文件
    os.system("C:UsersguorfDesktopup.exe")
  • 相关阅读:
    H
    饭卡(0 1背包)
    J
    H
    E
    3991: [SDOI2015]寻宝游戏
    CF 1051 F. The Shortest Statement
    CF 643 E. Bear and Destroying Subtrees
    4567: [Scoi2016]背单词
    4946: [Noi2017]蔬菜
  • 原文地址:https://www.cnblogs.com/blogofzxf/p/10373618.html
Copyright © 2011-2022 走看看