У меня есть небольшое представление о захвате экрана через php и phantomjs, но только для статической веб-страницы. Я новичок и был бы счастлив, если бы кто-то направил меня сюда.
Например:
Чтобы открыть google.com, выполните поиск «stackoverflow», а затем откройте stackoverflow.com и сделайте снимок экрана с домашней страницей. Эти шаги должны быть выполнены с помощью кода (т.е.) автоматически. Заранее спасибо, Гайз!
На сайте Selenium есть пример того, как сделать что-то похожее на Java (используя Firefox в качестве браузера) по адресу http://www.seleniumhq.org/docs/03_webdriver.jsp#introducing-the-selenium-webdriver-api-by-example
Вот быстрая версия TL; DR. Он не показывает переполнение стека, а должен сделать снимок экрана результатов Google за этот срок. Переход через Google, если вы уже знаете, что URL сайта может быть излишним шагом, я уверен, что вы можете изменить этот пример, чтобы он делал то, что вам нужно.
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
// Find the text input element by its name
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("Stack Overflow");
element.submit();
// Google's search is rendered dynamically with JavaScript.
// Wait for the page to load, timeout after 10 seconds
(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) {
return d.getTitle().toLowerCase().startsWith("Stack Overflow");
}
});
// Screenshot of search results (screen not whole page)
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("c:\\screenshot.png"));
Код скриншота из ответа Сергея Пожарова на Сделайте скриншот с Selenium WebDriver — посмотрите, что для других соображений, таких как выбор водителя.
Других решений пока нет …