zoukankan      html  css  js  c++  java
  • 可信认证爬虫遇到问题

    最近在做一个可信认证的自动化,把之前手工做的活,用程序替代了,该网站没有客户端,没有移动站点,只有通过selenium 来模拟自动化登录。

    问题记录

    Q:使用selenium 元素定位的时候会和屏幕中显示的不一致

    S:开发机器使用的是win笔记本,显示设置缩放与布局里面显示分辨率不是100% 要根据屏幕缩放之前的坐标来看就是一致的。

    Q:使用selenium 截图截下验证码的图片,再做缩放,发送到识别验证码的服务器,再根据返回坐标,定位到验证码绝对坐标,去模拟点击,一整套流程下来,虽然识别出来的坐标没啥问题, 但是计算精度的问题会导致最后算出来的坐标会有偏移,通过率会收到计算误差的影响。

    S: 直接定位到验证码图片的src,去服务器请求内容回来,不通过截图的方式来做。通过selenium 中ActionChains 的move_to_element_with_offset 定位到验证码图片的相对坐标去点击,只需要处理一下原图和网页中图片大小不一致带来的缩放问题就可以把通过率,逼近到服务端识别验证码图片的准确率。

    Q:网站通过两次验证码保护一个公司下的所有证书,网页有动态内容,验证码也是动态的加到DOM 树中的。去模拟验证第一个验证码的时候一般没有什么问题,等到去验证第二个验证码的时候,页面上有了两个验证码,如果不注意,或者没有处理就会报错,如:元素不可交互,不可点击等。

    S:主要原因是元素不唯一。可以通过一个列表记录之前已经交互过的webElement 对象,第二次再看下定位到的元素是不是在这个列表里就可以了。

  • 相关阅读:
    黑盒测试分类
    Java变量的初始化顺序
    javahttp请求四种方式
    mybatis sql查询慢
    jacoco搭配springMVC maven tomcat项目,单元测试&接口测试踩坑
    maven标签pluginManagement和plugins区别
    Java反射学习之Field类访问和修饰变量
    Classpath重新认识
    properties文件加载的六种方法
    VMware ESXI6.0安装和配置IP地址
  • 原文地址:https://www.cnblogs.com/ruhai/p/14412367.html
Copyright © 2011-2022 走看看