2017-07-17 21 views
1

可以使用Selenium的任何功能下载图像吗?这将类似于右键单击图像,然后单击“保存图像为”。我已经使用构建和类功能和机器人类来完成它。但我想要更有效的东西。可以使用Selenium的任何功能下载图像

+1

没有Selenium API允许你下载任何东西,但是,你可以发送keyevents去做你正在做的动作。如果Firefox配置为自动下载(不保存任何对话框),则会下载您的文件。 –

+1

我们可以在AutoIt中使用inetget命令吗?你能告诉我如何在Firefox中做什么? –

+0

为什么你需要使用AutoIt? –

回答

0

用Java你可以很容易地做到这一点,这应该有助于使用Java ImageIO类。

URL imageURL = null; 

//locate image, xpath, css etc 
WebElement element= driver.findElement(By.XPath("picture")); 

//get images source 
String elementsrc = element.getAttribute("src"); 

try { 
     //generate url 
     imageURL = new URL(elementsrc); 

     //read url and retrieve image 
     BufferedImage saveImage = ImageIO.read(imageURL); 

     //download image to your workspace where the project is, save picture as picture.png (can be changed) 
     ImageIO.write(saveImage, "png", new File("picture.png")); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
+1

我收到语法错误。你能指导我使用这个 –

+0

是的,当然不适合编辑它 – redp

+0

刚刚测试过,它的工作 – redp