starlifht 发表于 2012-10-24 17:35:44

webdriver如何出发iput type=file的上传文件或图片的事件

http://1864.img.pp.sohu.com.cn/images/2012/10/24/15/23/e31296990_13b558659e1g86.jpg
点图中的 ”上传图片“ 按钮会弹出 windows的上传图片对话框。现在遇到的问题是    无法定位到这个元素 并且实现click 。
求助:如何才能正确定位上传图片来实现这个点击动作,触发弹窗

源码如下
http://1832.img.pp.sohu.com.cn/images/2012/10/24/15/23/e31296990_13b558661a7g2.jpg


starlifht 发表于 2012-10-25 11:50:26

没大牛解答?

123shio123 发表于 2012-10-26 15:06:12

xpath
点上面的链接a,不知道对不对可以试试

starlifht 发表于 2012-10-29 09:56:41

回复 3# 123shio123


    不行   试过了

六月天 发表于 2012-10-29 22:38:40

没理由定位不到的。你先看,这个发生click的元素不是<a>,应该是<input>元素,所以你应该定位<input>元素。很简单的定位,应By.className就可以定位这个input元素了。我帮你试过了,一点问题没有

vipwork 发表于 2012-11-5 11:52:54

可以定位到的,我这边也有这种类似的按钮,并且成功的完成了上传文件的操作。而且的确是定位input,不是a。我是用selenium2完成的。

m1014519748 发表于 2012-11-28 21:46:51

遇到类似的问题,虽然可以找到元素,但是点击元素时就会出错,提示:selenium.common.exceptions.WebDriverException: Message: ''

bob123654 发表于 2012-12-28 16:01:24

用一下方式解决
//得到当前窗口的句柄
                String currentWindow = dr.getWindowHandle();
                //得到所有窗口的句柄
                Set<String> handles = dr.getWindowHandles();
                Iterator<String> it = handles.iterator();
                while(it.hasNext()){
                        if(currentWindow == it.next())continue;
                        WebDriver        window = dr.switchTo().window(it.next());
                        System.out.println("title,url = "+window.getTitle()+","+window.getCurrentUrl());
                }

suzeqiang 发表于 2013-10-21 18:13:11

点了那个上传图片,弹出本地选择图片的框了,然后怎么办啊?求告知!!!!

suzeqiang 发表于 2013-10-21 18:13:19

点了那个上传图片,弹出本地选择图片的框了,然后怎么办啊?求告知!!!!

yueyingmail 发表于 2016-7-7 14:14:22

你定位到的那个元素直接.sendkeys(filepath)就可以了
不用.click()
页: [1]
查看完整版本: webdriver如何出发iput type=file的上传文件或图片的事件