我如何从Facebook页面获取完整帖子的屏幕截图

发布于 2025-02-09 15:17:38 字数 375 浏览 2 评论 0原文

在此处输入映像说明当我从Facebook页面进行每个帖子的屏幕截图时,我只会得到一个部分缩放后的帖子。

代码:

post = browser.find_element_by_xpath("class")
browser.execute_script("document.body.style.zoom='80%'")
screen = post.screenshot_as_png
im = Image.open(BytesIO(screen))
im.save('image.png')

enter image description herewhen i did the screenshot of each post from Facebook page i get just a part from post after zoom out.

code:

post = browser.find_element_by_xpath("class")
browser.execute_script("document.body.style.zoom='80%'")
screen = post.screenshot_as_png
im = Image.open(BytesIO(screen))
im.save('image.png')

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

纸短情长 2025-02-16 15:17:38

XPath的屏幕截图:

Selenium没有尝试将页面格式化以进行屏幕截图,而是可以通过XPath捕获屏幕截图 。请参阅以下代码:

post = browser.find_element_by_xpath("class")
post.screenshot("post.png")

Screenshot by XPATH:

Instead of trying to format the page to take a screenshot, Selenium has a way to capture a screenshot by the XPATH. See the below code:

post = browser.find_element_by_xpath("class")
post.screenshot("post.png")
抚笙 2025-02-16 15:17:38

solutuion

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import ru.yandex.qatools.ashot.AShot;
import ru.yandex.qatools.ashot.Screenshot;
import ru.yandex.qatools.ashot.shooting.ShootingStrategies;

import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;

public class ScreenshotDemo {
    public static void main(String[] args) throws IOException {
        //set the location of chrome browser
        System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
        
        // Initialize browser
        WebDriver driver = new ChromeDriver();
        
        //navigate to url
        driver.get("https://demoqa.com");

        // capture screenshot and store the image
        Screenshot s=new AShot().shootingStrategy(ShootingStrategies.viewportPasting(1000)).takeScreenshot(driver);
        ImageIO.write(s.getImage(),"PNG",new File("C:\\projectScreenshots\\fullPageScreenshot.png"));
        
        //closing the webdriver
        driver.close();
    }
}

我确定您可以更改它python

Solutuion

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import ru.yandex.qatools.ashot.AShot;
import ru.yandex.qatools.ashot.Screenshot;
import ru.yandex.qatools.ashot.shooting.ShootingStrategies;

import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;

public class ScreenshotDemo {
    public static void main(String[] args) throws IOException {
        //set the location of chrome browser
        System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
        
        // Initialize browser
        WebDriver driver = new ChromeDriver();
        
        //navigate to url
        driver.get("https://demoqa.com");

        // capture screenshot and store the image
        Screenshot s=new AShot().shootingStrategy(ShootingStrategies.viewportPasting(1000)).takeScreenshot(driver);
        ImageIO.write(s.getImage(),"PNG",new File("C:\\projectScreenshots\\fullPageScreenshot.png"));
        
        //closing the webdriver
        driver.close();
    }
}

I am sure you can change it python

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文