51Testing软件测试论坛

标题: selenuim2怎么上传图片啊啊啊啊。。。。 [打印本页]

作者: forever2    时间: 2016-4-5 14:18
标题: selenuim2怎么上传图片啊啊啊啊。。。。
本帖最后由 forever2 于 2016-4-6 15:06 编辑

宝宝写了这现种方法都不可以:
1.
方法一、
                       webdriver.findElement(By.xpath("/html/body/div[2]/div/form/div[1]/div[5]/div[2]/c:choose/c:when/div/input")).sendKeys("/Users/xiaom/Documents/workspace/ShouK/img/正面.jpg");
                      webdriver.switchTo().alert().accept();

方法二、

//                        Actions action = new Actions(webdriver);
//                        WebElement btn = webdriver.findElement(By.xpath("/html/body/div[2]/div/form/div[1]/div[5]/div[2]/c:choose/c:when/div/input"));
//                        action.moveToElement(btn).perform();
//                        action.click().perform();
//                        action.sendKeys(btn,"/Users/xiaom/Documents/workspace/ShouK/img/正面.jpg").perform();

2.我的电脑是mac,这和windows环境下使用的方法一样吧,如下图一是页面中上传图片的框框,点击后出现如图二

3.页面的设计代码如下所示:
<div>            
         <input id="userIdcardjust" type="hidden" value="" name="user.userIdcardjust">

         <input id="userIdcardagainst" type="hidden" value="" name="user.userIdcardagainst">
         ........
</div>



作者: forever2    时间: 2016-4-6 11:19
谁来帮宝宝解答一下啊。。。急。。。求大神help!
作者: joykao    时间: 2016-4-6 13:31
你首先看一下负责上传的元素是不是个file,不是的话不好上传吧,还有不推荐用绝对路径的xpath去找元素,再有就是找到file元素直接sendkeys把文件路径传进去就好了,不需要什么alert的确认啥的,还有最好建议在mac下的chrome或者firefox实验
作者: forever2    时间: 2016-4-6 15:09
joykao 发表于 2016-4-6 13:31
你首先看一下负责上传的元素是不是个file,不是的话不好上传吧,还有不推荐用绝对路径的xpath去找元素,再 ...

它这边页面上的设计是这样的,type="hidden"
     <input id="userIdcardjust" type="hidden" value="" name="user.userIdcardjust">
     <input id="userIdcardagainst" type="hidden" value="" name="user.userIdcardagainst">

是不是因为type类型为隐藏的就不能上传,因为每次执行报的错都是找不到元素,那有没有什么办法解决呢?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2