小丫头amy 发表于 2016-4-25 10:27:07

上传图片关闭提示弹出窗后,再次点击其他上传图片输入框找不到元素

页面上有多个上传图片的输入框,点击第一个上传上输入框上传图片后,弹出提示框,关闭提示框,点击第二个输入框,就提示找不到元素,一个个的点击不弹出提示框的时候都可以。说明xpath的路径没有错误的。
代码如下:
//第一个输入框上传gif图片
          load=new Upload(dr,xpath2);
          message=load.upload("E:\\selenium tool\\upload\\",1);
          assertEquals("请上传图片格式为jpg或png,pdf文件",message);
          
          //点击第二个上传图片输入框,就找不到元素了
          //dr.switchTo().frame("mainFrame");
          xpath1=".//*[@id='enterpriseForm']/div/div/div/div/div/div/label/div/span";
          dr.findElement(By.xpath(xpath1)).click();

清晨一缕阳光 发表于 2016-4-25 10:40:26

switchTo().defaultContent() 返回默认焦点,然后再定位第二个。

小丫头amy 发表于 2016-4-25 11:02:51

清晨一缕阳光 发表于 2016-4-24 18:40
switchTo().defaultContent() 返回默认焦点,然后再定位第二个。

加了这个还是不行

joykao 发表于 2016-4-25 12:58:55

你这个上传的应该没有用到多frame吧,上传文件是不需要点击上传的按钮的,上传按钮应该直接是一个file元素,只要定位到file文件直接sendkeys("文件路径")就可以了呀,除非页面用到了多frame不然不需要切换的

小丫头amy 发表于 2016-4-25 15:37:12

joykao 发表于 2016-4-24 20:58
你这个上传的应该没有用到多frame吧,上传文件是不需要点击上传的按钮的,上传按钮应该直接是一个file元素 ...

这样子不行!

joykao 发表于 2016-4-26 09:27:36

小丫头amy 发表于 2016-4-25 15:37
这样子不行!

来来来,把元素的html代码贴出来,再把你怎么写的测试也贴出来看看,不然不知道怎么定位问题了:sleepy:

kexinqw11 发表于 2016-4-26 11:22:27

楼主在点击第一个与第二个上传图片按钮之间加个等待时间看看

zhouzeyu_test 发表于 2016-5-2 18:16:33

new WebDriverWait(driver,10)).until(ExpectedConditions.presenceOfElementLocated(By.xpath(locator));
加一个类似的显示等待,则未能抓取到元素之前,页面不会有反应,若超出十秒,则会提示抓不到元素!
页: [1]
查看完整版本: 上传图片关闭提示弹出窗后,再次点击其他上传图片输入框找不到元素