为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用 Selenium 上传文件

无法使用 Selenium 上传文件

慕码人8056858 2022-07-06 17:08:41
我正在尝试上传 pdf 文件,但它引发了异常:线程“主”org.openqa.selenium.WebDriverException 中的异常:未知错误:无法聚焦元素下面是代码: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 文件。谁能帮我解决这个问题?
查看完整描述

2 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

要上传文件,您必须使用input具有文件类型的元素,但您的pick-files选择器是 a 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"); 

    }

}


查看完整回答
反对 回复 2022-07-06
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

如果文件输入不可编辑 - 您可以尝试value使用 JS 更改属性:

((JavascriptExecutor) driver).executeScript("arguments[0].setAttribute('value', 'F:\\Selenium Complete Notes.pdf');", element);


查看完整回答
反对 回复 2022-07-06
  • 2 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信