当前位置: 首页 > 知识库问答 >
问题:

Selenium Java-从URL复制图像到剪贴板并粘贴为图像

许高峻
2023-03-14

我想从URL中复制image/gif而不下载它,例如,我想将此gif复制到剪贴板https://media.gify.com/media/l49jl8rj2voexlmm0/giphy.gif并将此gif粘贴到此站点https://paste.pics/

我试了所有的办法,但都没用。

代码试用:复制到剪贴板:

StringSelection data = new StringSelection ("https://media.giphy.com/media/xThtap5F0MFyAkoBPi/giphy.gif"); 
Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard(); 
cb.setContents(data, data);

粘贴1

try {
        Transferable t = cb.getContents(null);
        if (t.isDataFlavorSupported(DataFlavor.stringFlavor))
            System.out.println(t.getTransferData(DataFlavor
                    .stringFlavor));
        driver.findElement(By.xpath("elementFromSite")).sendKeys(t.getTransferData(DataFlavor
                .imageFlavor).toString());
    } catch (UnsupportedFlavorException | IOException ex) {
        System.out.println("issue");
    }

粘贴2

driver.findElement(By.id(elementFromSite)).sendKeys(Keys.chord(Keys.CONTROL,"v"));

所以我不知道该怎么做,请协助

共有1个答案

陶琦
2023-03-14

以下是我会尝试的:

driver.get("https://media.giphy.com/media/l49JL8rJ2vOEXlmM0/giphy.gif");
driver.find_by_css_selector('a._3X9Zhs_atixoQRBDsNGQnl > img').sendKeys(Keys.CONTROL+ "c");

driver.get("https://paste.pics/");
Actions action = new Actions(driver); 

action.keyDown(Keys.CONTROL).sendKeys("v").keyUp(Keys.CONTROL).perform();

如果这不起作用,您可以尝试在页面上的元素上执行Ctrl+V,例如

driver.find_element_by_css_selector('whatever selector you want to target some element on the page').sendKeys(Keys.CONTROL+ "v");

那有帮助吗?

 类似资料:
  • 我可以假设Mac OS X剪贴板图像数据是png吗? 当我尝试MIME检测剪贴板数据时,它返回。 这会导致每个浏览器下载图像而不是显示图像。 如果我强制将内容类型设置为image/png,一切看起来都很好,但我想知道是否有一种方法可以让我不必做出这样的假设? 我用https://github.com/broofa/node-mime检测MIME类型。

  • 问题是,从vim到剪贴板的复制/粘贴停止工作。我不知道为什么。。。 在中,我也没有看到和缓冲区... 这是我的。vimrc,如果需要的话。 有什么建议吗? 谢谢

  • 我可以使vim粘贴从和到系统的剪贴板?

  • 问题内容: 首先,关于SO将图像复制到python中的剪贴板的问题导致答案用PIL和win32clipboard将图像写入python中的Windows剪贴板?,这仅对Python 2.x有用。-我尝试过,但是没有用。我克服了一个问题:Python 3.0中没有StringIO和cStringIO模块 ,但是碰到了另一个: 因此,对于Python 3再次提出相同的问题-如何在Python 3中将图

  • 在Linux上不接触鼠标,在命令模式下的VIM和系统剪贴板之间复制粘贴的最快方法是什么?

  • 使用“复制链接”按钮复制链接 导航到其他输入/文本字段 用Ctrl+V粘贴到字段中,并读取该字段的内容以验证 我的测试: 但是,没有任何内容粘贴到该输入(和return)。 谢了!