【问题标题】:How to capture the screenshot of a specific element rather than entire page using Selenium Webdriver?I tried the already available answers如何使用 Selenium Webdriver 捕获特定元素而不是整个页面的屏幕截图?我尝试了已经可用的答案
【发布时间】:2021-05-07 07:54:13
【问题描述】:

如何使用 Selenium Webdriver 捕获特定元素而不是整个页面的屏幕截图?我使用的是 selenium 4.0。如何使用 Selenium Webdriver 捕获特定元素而不是整个页面的屏幕截图?

【问题讨论】:

  • 您使用哪种语言? java , 蟒蛇 ?
  • 我在使用 java 我应该使用 Ashot

标签: selenium selenium-webdriver


【解决方案1】:

检查 webelement 类以了解可用方法:

在java中:

https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/WebElement.html

   WebDriver driver = new ChromeDriver();
   driver.get("https://stackoverflow.com/questions/66021499/how-to-capture-the-screenshot-of-a-specific-element-rather-than-entire-page-usin?noredirect=1#comment116730378_66021499");
   WebElement element = driver.findElement(By.cssSelector("#submit-button"));
   JavascriptExecutor js = (JavascriptExecutor) driver;  

   File a = new File("a.png");
   js.executeScript("arguments[0].scrollIntoView()",element);
   File b = element.getScreenshotAs(OutputType.FILE);
   FileUtils.copyFile(b, a);

在python中:

https://www.selenium.dev/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webelement.html

element.screenshot(filename)

【讨论】:

  • @PDHide 能否分享一个示例网站的完整代码,但要截取特定的 web 元素。我想我必须滚动并截取屏幕截图
  • 它可以工作。但是截图保存在哪里
  • @shivacurrent 目录为 a.png ,您也可以提供完整路径,如 c:/a.png 在那里创建文件
  • 我找到了,但是我不能截取完整的截图我只能截取一半。我必须向下滚动才能截取完整的截图
  • @shiva 用滚动工具更新了代码你现在可以试试吗
猜你喜欢
  • 2012-11-29
  • 2023-01-23
  • 2012-10-26
  • 2016-07-05
  • 2019-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多