javascript — навигация по сайту и снятие скриншота с помощью кода

  • Мне нужно сделать скриншоты нескольких отдельных сайтов покупок для последней страницы оформления заказа.
  • Все выборы товаров в корзине и другие переходы на страницы должны быть через код.
  • Выводимые снимки экрана должны быть в файле изображения (jpg, png) или вставлены в файл docx (если это возможно)
  • Какой инструмент и технологию я могу использовать для этой задачи?

У меня есть небольшое представление о захвате экрана через php и phantomjs, но только для статической веб-страницы. Я новичок и был бы счастлив, если бы кто-то направил меня сюда.

Например:

Чтобы открыть google.com, выполните поиск «stackoverflow», а затем откройте stackoverflow.com и сделайте снимок экрана с домашней страницей. Эти шаги должны быть выполнены с помощью кода (т.е.) автоматически. Заранее спасибо, Гайз!

-2

Решение

На сайте 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 — посмотрите, что для других соображений, таких как выбор водителя.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]