我正在尝试上传 pdf 文件,但它抛出异常:
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: cannot focus element
下面是代码:
public class FileUploadPopUp {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "G://ChromeDriver//chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://pdf2doc.com/");
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.findElement(By.id("pick-files")).sendKeys("F:\\Selenium Complete Notes.pdf");
}
}
这是为了自动执行文件上传操作。我想上传 pdf 文件。谁能帮我解决这个问题吗?
最佳答案
要上传文件,您必须使用带有文件类型的 input
元素,但您的 pick-files
选择器是 div
,这就是为什么您出现错误。使用 input[type=file]
css 选择器:
public class FileUploadPopUp {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "G://ChromeDriver//chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("https://pdf2doc.com/");
driver.findElement(By.cssSelector("input[type=file]")).sendKeys("F:\\Selenium Complete Notes.pdf");
}
}
关于java - 无法使用 Selenium 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54840349/