忍耐是一种美德等待脚本和Visual Web开膛手

忍耐是一种美德等待脚本和Visual Web开膛手 所面临的网络数据提取软件的一个问题是类似一个面临的自动电话拨号器。 当自动电话拨号器首先成为可用的,它们的用途是由于收到拨号音时,电话线,最初从事的延迟限制。由当时的路线是准备好了,拨号器已经进入了几个数字,使其始终失败。刮从网站数据时类似的过早提取可能发生。为了克服这一点,等待脚本是必要的,当一个AJAX回调是无法成功获取数据,由于网站管理员的使用过渡词或词组(一般闪烁加载中...)的告诉内容呈现给用户。可视化Web开膛手混淆了本作的实际数据,并提取了不需要的文本。 记住好东西来那些谁等待。按照以下步骤,让可视化Web开膛手提取所需的数据。 注:面向对象编程的工作经验,尤其是在C#和VB.NET是非常有帮助的。要开始等待脚本,浏览到您的选项菜单中,单击操作,单击AJAX或JavaScript,点击脚本等待条件。 弹出一个窗口,让您操控预制代码(在C#或VB.NET)。如果代码无法访问,请等待启用脚本。 你的代码应该是这样的开始: (一)公共静态布尔IsAjaxCallCompleted(WrWaitScriptArgumentsargs) 2 { 三试 4 { 5 // Placeyourconditioncodehere。 6 // Thisexa​​mplewaitsuntiltheoldcontenthasbeenreplacedwithnewcontent, 7 // butwaitsamaximumof3seconds。 8。九如(args.SecondsWaited\u003e 3) 10,返回true; 11。 12,如果(!args.OldContent.Equals(args.NewContent)) 13,返回true; 14。 15,返回false; 16} 17捕获(Exceptionexp) 18 { 19.args.WriteDebug(exp.Message); 20,返回true; 21} 22} 要知道,这个解决方案的一些要求:所有等待脚本必须有一个方法(IsAjaxCallCompleted)该方法必须具有精确的名称,因此仅在体内发生变化。该方法必须返回true当Ajax调用已经完成,否则为false。 加载的例子是这样的(身体内): 1.try 2 { 3,如果(args.SecondsWaited\u003e 3) 4,返回true; 5。 6,如果(!args.OldContent.Equals(args.NewContent)\u0026\u0026!args.NewContent.Equals(“载入中...”)) 7,返回true; 8。 9,返回false; 10} 11捕获(Exceptionexp) 12 { 13.args.WriteDebug(exp.Message); 14,返回true; 15} 16} 17} 级联下拉菜单级联下拉菜单是另一个障碍,需要特殊处理使用可视化Web开膛手的时候。利用这些代码来操作级联下拉菜单: 1.try 2 { 3,如果(args.SecondsWaited\u003e 10) 4.returntrue; 5。英译汉(!args.OldContent.Equals(args.NewContent)\u0026\u0026!args.NewText.StartsWith(“[”)) 7.returntrue; 8。 9.returnfalse; 10} 11.catch(Exceptionexp) 12 { 13.args.WriteDebug(exp.Message); 14.returntrue; 15} 16} 17} 注意事项:A FormField元素,将需要为每一个下拉菜单。 VWR会等来改变每一个AJAX的元素。 由于网站包含的功能增加设置,以提升用户体验,这同样的功能需要更强大的Web数据提取软件。可视化Web开膛手干练提供在这样的情况下。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值