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

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

作者: 青风飞絮 | 来源:发表于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