zoukankan      html  css  js  c++  java
  • 【自动化专题】selenium如何轻松搞定文件上传

    使用selenium做自动化时,我们经常会遇到的一个让人头疼的问题就是文件上传。

    问题的难点在于selenium无法识别并操作Windows窗口,若我们可以绕过弹出框直接把文件信息上传给选择按钮,难点就解决了。

    以下是常见页面形式

    分析HTML,发现无论是普通前台还是Extjs,他们的html有一个共同的特点,具有以下代码:

      <input ..... type="file" ...../>
    

    ok,只要我们使用selenium自带的sendkeys把文件路径(相对绝对无所谓)传给该元素,就可绕过选择窗口直接上传文件.

    解决方案诞生了

    driver.findElement(XXXXX).sendKeys("filePath");

    Have a Try

    博客园上传图片:driver.findElement(By.name("file")).sendKeys("C:Users123Picturesa.png");

    QQ邮箱上传附件:driver.findElement(By.name("UploadFile")).sendKeys("C:Users123Picturesa.png");

    定位元素根据情况而定,不一定用name;文件路径可以使相对路径,大家自行修改就好

    注意:执行sendKeys的元素一定要符合inputtype="file"条件,否则就是你没找对上传文件的对象,会上传失败的。

    像这样的,一定注意不要上传到前面的那个input上,否则会失败的

  • 相关阅读:
    Hadoop环境搭建2_hadoop安装和运行环境
    Hadoop环境搭建1_JDK+SSH
    Linux5_环境变量
    Linux4_文件操作
    Linux3_文件系统
    Linux2_小技巧
    Linux1_Ubuntu的安装
    PhoneGap移动开发框架
    iOS 使用GitHub托管代码(github desktop使用)
    MRC和ARC混编
  • 原文地址:https://www.cnblogs.com/sylvia-liu/p/4431664.html
Copyright © 2011-2022 走看看