执行程序时,我没有收到任何警告或错误消息。
wd.findElement(By.xpath("XPATH")).sendKeys("ABC.jpg","XYZ.jpg");
但是没有文件正在上传。
wd.findElement(By.xpath("XPATH")).sendKeys("can we make CTRL+A operation" );
提前致谢。
答案 0 :(得分:1)
我认为你可能会在Selenium"上传文件上传#34;事情错了,这就是我要解决的问题。
This article by SauceLabs介绍了在Java和Ruby中通过Selenium处理文件上传的基本步骤。假设您正在使用Java,那么您需要执行以下几个步骤:
FileDetector
WebDriver
方法
WebElement
指向input
类型的有效HTML file
标记以下代码清单演示了如何执行以下每个步骤:
wd.setFileDetector(new LocalFileDetector());
// point your webdriver to the page containing the upload form.
WebElement upload = wd.findElement(By.xpath("XPATH")); // TODO replace xpath!
upload.sendKeys("/path/to/ABC.jpg");
upload.submit(); // NOTE: Submits the form *containing* the upload field!
因为您已将文件检测方法设置为LocalFileDetection
,所以Selenium将能够找到相应的文件。如果未设置,则Selenium默认为UselessFileDetection
实现,每次都会失败,以避免意外上传文件。
警告:如果您正在使用基于Javascript或Flash的多文件上传系统,那么这可能不会起作用,因为这些通常会绕过原始输入字段或独立于表格处理上传#39提交。
答案 1 :(得分:0)
您没有收到错误,因为sendKeys()
accepts an array of CharSequence
objects。并且你符合那个方法合同
但没有上传文件
这是因为现在编写代码的方式实际上会发送文本:ABC.jpgXYZ.jpg
。