使用Selenium WebDriver(Java)上载本地映像
我看了很多答案,只找到了一些有用的地方,所以基本上我使用selenium选择页面上的文件输入,然后执行一些javascript使其可见,然后将文件路径发送到键 所有这些都有效,但当我提交表单时,图像不会显示在最终产品上,例如,当我单击提交并查看我的帖子时,没有图像 这是我的密码:使用Selenium WebDriver(Java)上载本地映像,java,image,selenium,input,upload,Java,Image,Selenium,Input,Upload,我看了很多答案,只找到了一些有用的地方,所以基本上我使用selenium选择页面上的文件输入,然后执行一些javascript使其可见,然后将文件路径发送到键 所有这些都有效,但当我提交表单时,图像不会显示在最终产品上,例如,当我单击提交并查看我的帖子时,没有图像 这是我的密码: WebElement imageUpload = driver.findElement(By.xpath(("//*[@id=\"FileInputWrapper\"]/input"))); Thread.sl
WebElement imageUpload = driver.findElement(By.xpath(("//*[@id=\"FileInputWrapper\"]/input")));
Thread.sleep(600);
js.executeScript("arguments[0].setAttribute('type', 'file');", imageUpload);
Thread.sleep(600);
imageUpload.sendKeys(computerHome + "/downloads/testImageFolder/testImage.jpg");
Thread.sleep(600);
Selenium执行此操作后,将在“提交图像”按钮上方显示:
这意味着它收到了我的图片,但出于某种原因,它也没有收到?
因为当我在帖子上点击提交时,图像不可见,没有图像
任何想法都非常感谢
谢谢。下面的方法也将帮助您浏览文件并选择它。只需传递3个必需的参数
/*------- FileUploading(): This method browse and the upload the selected file -------*/
public static void FileUpload(PropertyType ElementType, string Element, string FilePath)
{
if (ElementType == PropertyType.Id)
{
PropertyCollection.wdriver.FindElement(By.Id(Element)).Click();
}
else if (ElementType == PropertyType.XPath)
{
PropertyCollection.wdriver.FindElement(By.XPath(Element)).Click();
}
Thread.Sleep(3000);
SendKeys.SendWait(FilePath);
Thread.Sleep(3000);
SendKeys.SendWait(@"{Enter}");
Thread.Sleep(3000);
}
你能给我们展示一下相关的HTML块吗?一个正常工作,一个不正常工作?既然它是空的,为什么我们还需要第二个呢?