Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
如何使用Ruby等脚本语言保存任意web元素的屏幕截图_Ruby_Selenium_Web Scraping_Watir_Webpage Screenshot - Fatal编程技术网

如何使用Ruby等脚本语言保存任意web元素的屏幕截图

如何使用Ruby等脚本语言保存任意web元素的屏幕截图,ruby,selenium,web-scraping,watir,webpage-screenshot,Ruby,Selenium,Web Scraping,Watir,Webpage Screenshot,有一个网页上动态生成了一些svg图形。为了使情况更加复杂,大多数这些图形在单击或悬停时显示为jQuery弹出窗口。任务是以编程方式导航到此页面,删除所有图形(以及页面上的一些其他信息),并保存在磁盘上,最好保存为单个pdf或xml文件 我要尝试的第一件事是ruby中的webdriver或watir框架,但正如所显示的那样,内置函数只捕获整个页面。有什么好的解决方案可以只在网页上的div上捕获这个屏幕截图?对于我的目标来说,还有其他更有效的框架吗?我会从写一篇文章开始 它在引擎盖下运行一个真实的w

有一个网页上动态生成了一些svg图形。为了使情况更加复杂,大多数这些图形在单击或悬停时显示为jQuery弹出窗口。任务是以编程方式导航到此页面,删除所有图形(以及页面上的一些其他信息),并保存在磁盘上,最好保存为单个pdf或xml文件


我要尝试的第一件事是ruby中的webdriver或watir框架,但正如所显示的那样,内置函数只捕获整个页面。有什么好的解决方案可以只在网页上的div上捕获这个屏幕截图?对于我的目标来说,还有其他更有效的框架吗?

我会从写一篇文章开始


它在引擎盖下运行一个真实的webkit实例,因此您可以驱动任何需要的js元素,并准确捕获您想要呈现的状态。

是否可以共享网页URL?这样我就可以看到内部的html了。你有解决方案,那为什么要用Ruby呢?我没有领会你的意图。我更喜欢Ruby或服务器端JS的解决方案,以便于与我拥有的其他工具集成。再加上好奇心。在所有这些开发良好的环境中,比如Ruby、Python、SSJS,应该有一种方法来完成这些非常基本的任务,对吧?好的。。因此,您希望所有三个饼图都下载。。对吗?更具体地说,我对其中的两个对象感兴趣-graph#miniChartContainer和所有工具提示。安全工具提示显示在下表中鼠标悬停的证券上。结果应该作为截图下载。我想它仍然需要整个页面的截图,而不仅仅是页面的一部分。@eljko Filipin谢谢!在这些链接之后,我发现了一个名为CasperJS的PhatomJS的“扩展”,它实际上有一个专门的工具,可以从页面中只捕获这个或那个容器-@eljkoFilipin是的,但是您可以随时操纵dom来获得您想要的。听起来CasperJS有一个更优雅的解决方案。亚历克斯F,很乐意帮忙!