Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在网站内导航并通过代码截图 我需要采取多个单独的购物网站的最终结帐页面截图 购物车中的所有项目选择和其他页面导航必须通过代码 输出屏幕截图应在图像文件(jpg、png)中或插入到docx文件中(如果可能) 我可以使用什么工具和技术来完成此任务_Javascript_Java_Php_Web_Screenshot - Fatal编程技术网

Javascript 在网站内导航并通过代码截图 我需要采取多个单独的购物网站的最终结帐页面截图 购物车中的所有项目选择和其他页面导航必须通过代码 输出屏幕截图应在图像文件(jpg、png)中或插入到docx文件中(如果可能) 我可以使用什么工具和技术来完成此任务

Javascript 在网站内导航并通过代码截图 我需要采取多个单独的购物网站的最终结帐页面截图 购物车中的所有项目选择和其他页面导航必须通过代码 输出屏幕截图应在图像文件(jpg、png)中或插入到docx文件中(如果可能) 我可以使用什么工具和技术来完成此任务,javascript,java,php,web,screenshot,Javascript,Java,Php,Web,Screenshot,我对通过php和phantomjs进行屏幕截图有一点了解,但仅限于静态网页。我是个新手,如果有人在这里指导我,我会很高兴的 例如: 要打开google.com,请搜索“stackoverflow”,然后进一步打开stackoverflow.com,并拍摄主页截图。这些步骤必须通过代码(即)自动完成。提前谢谢你,伙计 Selenium网站提供了一个示例,说明如何通过Java(使用Firefox作为浏览器)在 这里有一个快速的TL;博士版本。它不会点击堆栈溢出,而是应该截取该术语的谷歌搜索结果。当你

我对通过php和phantomjs进行屏幕截图有一点了解,但仅限于静态网页。我是个新手,如果有人在这里指导我,我会很高兴的

例如:


要打开google.com,请搜索“stackoverflow”,然后进一步打开stackoverflow.com,并拍摄主页截图。这些步骤必须通过代码(即)自动完成。提前谢谢你,伙计

Selenium网站提供了一个示例,说明如何通过Java(使用Firefox作为浏览器)在

这里有一个快速的TL;博士版本。它不会点击堆栈溢出,而是应该截取该术语的谷歌搜索结果。当你已经知道网站的URL时,通过Google访问可能是一个多余的步骤,无论如何,我相信你可以修改这个例子,让它做你需要的事情

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"));
WebDriver=newfirefoxdriver();
驱动程序。获取(“http://www.google.com");
//按名称查找文本输入元素
WebElement=driver.findElement(By.name(“q”));
元素sendKeys(“堆栈溢出”);
元素。提交();
//谷歌的搜索是用JavaScript动态呈现的。
//等待页面加载,10秒后超时
(新的WebDriverWait(驱动程序,10))。直到(新的预期条件(){
公共布尔应用(WebDriver d){
返回d.getTitle().toLowerCase().startsWith(“堆栈溢出”);
}
});
//搜索结果的屏幕截图(屏幕不是整个页面)
文件scrFile=((TakesScreenshot)driver.getScreenshotAs(OutputType.File);
copyFile(scrFile,新文件(“c:\\screenshot.png”);

屏幕截图代码来自Sergii Pozharov在上的回答-请查看其他注意事项,如选择驱动程序。

请检查此链接PhantomJS还具有自动化功能(),因为您可以评估javascript代码,所以动态页面并不是不合格的。您是在谈论浏览器自动化吗?如果是的话,这可能就是你想要的。另见。但我认为您需要编辑您的问题,以明确这将如何运作。感谢您提供的信息(Madan、Klein和Daz:)