Javascript在多个网站上输入搜索并截取屏幕截图

时间:2012-02-01 20:48:25

标签: javascript search screenshot

我正在尝试自动查询2个不同网站上的名称。对于每个网站,我必须以相同的名称输入并截取结果的屏幕截图。我不知道如何处理这个项目。是否可以使用javascript自动执行此操作?感谢您的任何意见。

网站链接如下:

[1] http://exclusions.oig.hhs.gov/search.aspx

[2] http://www.health.ny.gov/professionals/doctors/conduct/license_lookup.htm

2 个答案:

答案 0 :(得分:0)

您应该能够相对轻松地使用PhantomJS完成此操作。查看示例页面 - 您可能希望使用code evaluation填写并提交表单,之后您可以render将页面添加到图像文件中。

答案 1 :(得分:0)

您实际执行此操作只需一步:向您需要的信息发送POST请求。对于第一个示例,您将发送这些POST数据:

__VIEWSTATE=dDwtNzQ5MzEyMDI3Ozs%2BHWC8LXZfQQTCTJWtmudNLStjn%2Fk%3D&txtLastName1=test&txtFirstName1=&txtBusinessName1=&txtLastName2=&txtFirstName2=&txtBusinessName2=&txtLastName3=&txtFirstName3=&txtBusinessName3=&txtLastName4=&txtFirstName4=&txtBusinessName4=&txtLastName5=&txtFirstName5=&txtBusinessName5=&cmdSubmit=Search

因此,您可以按照建议使用PhantomJS和POST请求并截取屏幕截图。或者,您可以使用Web服务创建屏幕截图。不幸的是,很少有人允许使用自定义POST数据的POST请求。 Browshot(请参阅API)可让您发送POST数据并使用自定义Referer。因此,您的屏幕截图请求将包括(在对POST数据进行编码之后):

url=http://exclusions.oig.hhs.gov/search.aspx&referer=http://exclusions.oig.hhs.gov/search.aspx&post_data=__VIEWSTATE%3DdDwtNzQ5MzEyMDI3Ozs%252BHWC8LXZfQQTCTJWtmudNLStjn%252Fk%253D%26txtLastName1%3Dtest%26txtFirstName1%3D%26txtBusinessName1%3D%26txtLastName2%3D%26txtFirstName2%3D%26txtBusinessName2%3D%26txtLastName3%3D%26txtFirstName3%3D%26txtBusinessName3%3D%26txtLastName4%3D%26txtFirstName4%3D%26txtBusinessName4%3D%26txtLastName5%3D%26txtFirstName5%3D%26txtBusinessName5%3D%26cmdSubmit%3DSearch

我已对其进行了测试,并获得了结果的屏幕截图,就像我填写表单并提交了一样。