是否可以从页面保存带有名称的图片?

Is that possible to save pictures with a name from page?

我想将整个产品的图像保存在一个网站中,并在同一页面上写上自己的名称,是否可以在具有以下逻辑的网站上执行此操作?

主产品页面在同一页面上有整个产品的 link,所以我想我可以在这里找到所有产品,在产品页面中有子菜单,例如“常规 - 图库等”。我想从常规部分获取产品名称,然后转到图库部分并使用此名称保存图像,例如 ProductName1.jpg、ProductName2.jpg ...

硒可以或不可能吗?

产品页面:http://www.laboory.com/products

这里是产品示例 link: http://www.laboory.com/product/laboory-water-soluble-m/3937

是的,我们可以做到。正如您提到的 selenium 标签,我假设它使用的是 Java.

  • 转到产品页面
  • 获取图片来源URL和产品名称。
  • 使用 BufferedImageImageIO 类 将图像保存到所需位置。

代码:

driver = new ChromeDriver(options);
driver.manage().deleteAllCookies();

driver.get("http://laboory.com/product/laboory-water-soluble-m/3937");
             
WebElement logo = driver.findElement(By.xpath("(//span//img[@class='imgin' and @src])[1]"));
String logoSRC = logo.getAttribute("src");
String productName = driver.findElement(By.xpath("//div/h1")).getText();
     
URL imageURL = new URL(logoSRC);
BufferedImage saveImage = ImageIO.read(imageURL);
ImageIO.write(saveImage, "png", new File(productName+".png"));

输出: 产品CAPSULE GC 510.png保存在工程目录下

注意:您也可以更改位置。

您可以使用图片元素的尺寸来截取图片,并保存成您喜欢的名字,下面是参考 How to capture the screenshot of a specific element rather than entire page using Selenium Webdriver?