我正在尝试使用 java selenide 自动化测试上传文件。
我写测试的地方使用上传框,附近没有任何输入值。
上传框是id='file'
我尝试使用:
$(By.cssSelector("[id='file']")).uploadFile(new File("myfilePackage" + File.separator + "picture.jpg"))
但这无济于事,因为没有用于文件上传的输入框。
然后我尝试使用:
WebElement elem = getWebDriver().findElement(By.cssSelector("[id='file']"));
String js = "arguments[0].style.height='auto'; arguments[0].style.visibility='visible';";
((JavascriptExecutor) getWebDriver()).executeScript(js, elem);
elem.sendKeys("wholePath\\picture.png");
使元素可见,但出现未知错误:无法聚焦元素\n ...
我得到了它,但这不是我想要的:
WebElement elem = getWebDriver().findElement(By.cssSelector("[id='file']"));
((RemoteWebElement) elem ).setFileDetector(new LocalFileDetector());
elem.sendKeys("C:FullPath\\picture.png");
有没有其他方法可以从这种上传中获取文件?我想从 Intellij 包上传它