当我在网站上批量输入测试数据时,我试图计算搜索框出错的次数。所以我试图查询查询结果并查看是否有单词"错误"在html结果页面中。我在向网站提交查询后尝试下载生成的html网页。我构建查询并使用wget下载生成的网页。
但是,只显示了html的主要内容而不是结果,因为它是通过使用外部javascript文件完成的。只有在我的浏览器上右键单击View Page Source,才能看到我想要的html。有没有非手动方式使用wget / curl下载这样的页面源代码而不必点击所有页面源?
答案 0 :(得分:1)
javascript是一个程序,程序的结果在多项式时间(任意输入)中都不具有确定性。因此,在沙盒环境中加载javascript更容易,然后针对测试用例执行它。
Wget
和curl
无法做到这一点:他们没有任何功能可以检查/执行获取结果。实际上,您需要的是一个可以高效加载和测试脚本的浏览器,如shell中的wget / curl。幸运的是,已经存在这样的事情: Selenium 。它是一个firefox / chrome / explorer扩展,它可以运行这些浏览器的实例,并且可以远程控制。
如果你想非交互式地运行这些浏览器,没有gui,我建议使用假(无硬件)X服务器。
Google for:selenium,google for:headless X.祝你好运!