我的测试网站html部分如下:
<button id="btnUpload" type="button" class="btn fileinput-button fileinputs">
<span class="icon wc-upload"></span>
<span>Upload</span>
<input type="file" name="file" multiple=""></button>
现在上传文件,我使用以下代码:
driver.findElement(By.cssSelector("#btnUpload")).sendKeys(AppConstant.RESOURCE_DIR+fileName);
但它并行多次上传同一个文件。但如果我手动执行此操作,则所选文件仅上传一次。
这里的解决办法是什么?
答案 0 :(得分:1)
尝试使用与sendkeys()
对应的WebElement
上的<input type="file">
作为:
driver.findElement(By.xpath("//input[@type='file']")).sendKeys(AppConstant.RESOURCE_DIR+fileName);
-OR -
WebElement inputFileControl = driver.findElement(By.xpath("//input[@type='file']"))
inputFileControl.sendKeys(AppConstant.RESOURCE_DIR+fileName);
答案 1 :(得分:0)
试试这个: -
driver.findElement(By.cssSelector("#btnUpload")).sendKeys(Keys.chord(Keys.CLEAR));
在上传文件代码后放置此代码
希望它能帮到你