运行这段代码:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].setAttribute('style', arguments[1])",` driver.findElement(By.xpath("//input[@type='file']")), "0");
js.executeScript("arguments[0].setAttribute('class', arguments[1])", driver.findElement(By.xpath("//input[@type='file']/../../div[2]")), "a");
driver.findElement(By.xpath("//input[@type='file']")).sendKeys("Your Path to the file your system");
说明:每个浏览按钮在隐藏状态在DOM一<input>
标签。通过使用下面的代码行,我们只需更改包含<input>
标签的标签的类和样式属性,以使其变得可见并且可以对其执行sendKeys()
命令。之后,当你做一个sendKeys
与你想上传的图像/文件的绝对路径。
嗨。您不能使用硒自动化任何基于Windows的对话框/窗口。 Selenium仅适用于浏览器。如果要上传文件,请使用sendkeys方法键入文件的路径并按下提交按钮。 – Vinay
@ user2798616您是否在UploadImage按钮旁边有一个文本框,用于输入您要上传的文件的路径?如果你有,那么不需要点击上传按钮。直接使用sendKeys将文件路径粘贴到该文本框中。 – Hemanth
@Vinay:网站上没有任何文本框旁边的UploadImage按钮进入路径...!它只是有按钮,所以我怎么能发送路径使用这个按钮 – Niyati