【问题标题】:Is there a way to capture the screenshot of specific elementID on Android screen in Appium using Selenium (Java)?有没有办法使用 Selenium (Java) 在 Appium 中的 Android 屏幕上捕获特定 elementID 的屏幕截图?
【发布时间】:2020-12-22 23:12:03
【问题描述】:

我正在尝试仅捕获特定于元素 ID 的部分 Android 屏幕的屏幕截图。不是整个屏幕。

【问题讨论】:

    标签: java selenium automation appium


    【解决方案1】:

    我不知道您的具体上下文是什么,任何获取以<img> HTML 表示的图像的屏幕截图的方法,前段时间我在我的一个项目中使用了此代码。希望这会有所帮助,并且可能与您的情况相似

    WebDriver drv2 = new ChromeDriver();
    drv2.get("https://www.example.com");
    WebElement el = drv2.findElement(By.xpath("//img[@src='/page.php']"));
    File SrcFile = el.getScreenshotAs(OutputType.FILE);
    File DestFile = new File("/your/path/file.png");
    Files.copy(SrcFile.toPath(),DestFile.toPath());
    

    HTML 标记类似于

    <img src="page.php" />
    

    用您的 HTML 标签信息更改 //img[@src='/page.php']

    【讨论】:

    • 感谢您的回复。我正在模拟器上运行 Android 应用程序。我只想捕获屏幕元素的屏幕截图,而不是整个屏幕。这在 Appium 中是否可行
    • @Cherry 是的。如果您在 selenium 上运行它并且它是一个网页,您可以捕获由其 HTML 标记表示的特定元素的屏幕截图,就像我在上面写的那样。否则,您不需要 selenium 来执行此操作,但您需要使用操作系统的 API。
    猜你喜欢
    • 2014-05-31
    • 2020-02-04
    • 1970-01-01
    • 2015-04-06
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多