我使用seleniumRC打开网址,然后如何保存此网页?如何实现它像urllib.urlretrieve那样做?但是urllib无法在页面中运行javascript。还有一个问题:它会用我看到的seleniumRC打开它来保存整个页面吗?
答案 0 :(得分:1)
听起来你混淆了两个非常不同的库。
此模块提供了一个用于通过万维网获取数据的高级界面。特别是,urlopen()函数类似于内置函数open(),但接受统一资源定位符(URL)而不是文件名。
您可以使用python的urllib库从有效的URL中检索原始标记。该库不会在页面上调用任何嵌入式JavaScript,因为该库从不尝试解析或呈现任何内容。
Selenium Remote Control(RC)是一款测试工具,允许您使用任何支持JavaScript的主流浏览器,针对任何HTTP网站以任何编程语言编写自动化Web应用程序UI测试。
Selenium RC用于自动化测试。通过javascript在Web浏览器中执行测试,但这是一个测试套件 - 您会收到有关测试状态的信息。 Selenium RC不提供保存渲染页面图像的任何功能。
除非我误解了您的问题,否则您似乎正在寻找一个允许您检索呈现的HTML页面图像的库(包括javascript DOM操作)。如果确实如此,我建议调查PyWebShot,这似乎提供了完全相同的功能。您可以在操作here中查看其屏幕截图(以及有关它的一些其他信息)。
如果它不一定需要是python库,那么有许多Web服务可以提供屏幕截图: