对于我的项目,我需要复制图像***(不是网址,图像名称。只有数据的能力,例如,粘贴到"微软油漆")***从页面到剪贴板的Chrome控制台。我试过这个:第一个月但它什么都不返回...它只对文本有效。如果你不知道,那么如何通过chrome控制台下载此图像?
如何制作网页截图,并使用Chrome控制台复制或下载?
附言:我不能使用任何js库。
oalqel3c1#
我已经在chrome开发工具中探索了一些东西https://homeguides.sfgate.com/stop-air-flow-ceiling-air-diffuser-28867.html-这是我正在使用它作为参考的网站。1.在Chrome控制台中尝试以下命令
imageurl= document.getElementsByTagName('img')[0].currentSrc; copy (imageurl);
注意:如果要获得不同的图像,可以在此处更改img [1]数组
1.然后如果你按下键盘上的ctrl + v,你可以看到图片的网址和https。请看上面的截图。1.您可以在新选项卡上执行ctrl+ v来加载图像。
或****您可以尝试以下方法。
1.右键单击图像,然后单击检查元素1.你可以看到一些图像的网址。复制该网址
1.打开新选项卡并粘贴URL1.如果右键单击它,您可以看到“保存图像”选项。希望它能对你有所帮助。
lyr7nygr2#
正如您提到的,您正在使用Selenium,下面是如何使用Selenium保存图像:你需要获取图片的URL,加载它(在这个例子中使用ImageIO)并保存它。例如,在Java中你可以这样做:
ImageIO
try { driver = new ChromeDriver(); driver.get("http://..."); WebElement img = driver.findElement(By.cssSelector("#selector")); BufferedImage buffer = ImageIO.read(new URL(img.getAttribute("src"))); ImageIO.write(buffer, "png", new File("image.png")); } catch (Exception e) { e.printStackTrace(); } finally { driver.close(); }
如果你想直接复制它,你的类需要实现java.awt.datatransfer.ClipboardOwner,然后你可以这样做:
java.awt.datatransfer.ClipboardOwner
try { driver = new ChromeDriver(); driver.get("http://..."); WebElement img = driver.findElement(By.cssSelector("#selector")); TransferableImage transferable = new TransferableImage(ImageIO.read(new URL(img.getAttribute("src")))); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(transferable, this ); } catch (Exception e) { e.printStackTrace(); } finally { driver.close(); }
关于您的其他问题,以下是如何使用Chrome DevTools进行屏幕截图:Chrome DevTools中有3个 Capture... 命令,只需按照以下步骤操作即可:1.打开开发工具。1.转到 Elements 选项卡,然后单击要进行屏幕截图的元素。1.在Mac上按Cmd + P或在Windows上按Ctrl + P。
> screen
Mobile
但是,请记住此功能并不总是工作正常,尤其是 * 捕获节点屏幕截图 *,因此最好捕获页面的可见区域,然后裁剪。
2条答案
按热度按时间oalqel3c1#
我已经在chrome开发工具中探索了一些东西
https://homeguides.sfgate.com/stop-air-flow-ceiling-air-diffuser-28867.html-这是我正在使用它作为参考的网站。
1.在Chrome控制台中尝试以下命令
注意:如果要获得不同的图像,可以在此处更改img [1]数组
1.然后如果你按下键盘上的ctrl + v,你可以看到图片的网址和https。请看上面的截图。
1.您可以在新选项卡上执行ctrl+ v来加载图像。
或****您可以尝试以下方法。
1.右键单击图像,然后单击检查元素
1.你可以看到一些图像的网址。复制该网址
1.打开新选项卡并粘贴URL
1.如果右键单击它,您可以看到“保存图像”选项。
希望它能对你有所帮助。
lyr7nygr2#
正如您提到的,您正在使用Selenium,下面是如何使用Selenium保存图像:
你需要获取图片的URL,加载它(在这个例子中使用
ImageIO
)并保存它。例如,在Java中你可以这样做:如果你想直接复制它,你的类需要实现
java.awt.datatransfer.ClipboardOwner
,然后你可以这样做:关于您的其他问题,以下是如何使用Chrome DevTools进行屏幕截图:
Chrome DevTools中有3个 Capture... 命令,只需按照以下步骤操作即可:
1.打开开发工具。
1.转到 Elements 选项卡,然后单击要进行屏幕截图的元素。
1.在Mac上按Cmd + P或在Windows上按Ctrl + P。
> screen
。您将获得3个相关建议:Mobile
捕获全尺寸屏幕截图 *:捕获整个页面,包括不可见(超出视区)区域。Mobile
捕获节点屏幕截图 *:捕获单个节点,在本例中,即在第二步中单击的元素。Mobile
捕获屏幕截图 *:捕获页面的可见区域(视区)。但是,请记住此功能并不总是工作正常,尤其是 * 捕获节点屏幕截图 *,因此最好捕获页面的可见区域,然后裁剪。