美文网首页
自动化代码中操作按钮式的文件上传的总结

自动化代码中操作按钮式的文件上传的总结

作者: 青风飞絮 | 来源:发表于2019-07-29 15:34 被阅读0次
问题描述 :对于按钮式的文件上传,输入框input都是隐藏在按钮里面,无法直接输入文件路径进行上传操作。
解决思路 :将浏览器的driver转化为JavascriptExecutor类型的driver,通过js的方法修改input框的属性是使之显示出来,然后使用sendKeys方法传入文件路径就可以进行文件上传操作了。
代码演示如下:

1.定位文件上传的输入框input

@FindBy(xpath = "//span[text()='上传图片和文件']/../../input")
    private WebElement uploadImgInput;

2.操作的定位的元素的方法

public void upload(String path) {
        JavascriptExecutor js = (JavascriptExecutor)driver;
        js.executeScript("arguments[0].setAttribute('style', arguments[1])",
                uploadImgInput, "display: block;");
        scrollToElement(uploadImgInput);
        try {
            Thread.sleep(1 * 1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        uploadImgInput.sendKeys(new File(path).getAbsolutePath());
    }

相关文章

网友评论

      本文标题:自动化代码中操作按钮式的文件上传的总结

      本文链接:https://www.haomeiwen.com/subject/pivbrctx.html