1.项目初期是用jsoup爬取网页内内容,在测试中发现无法获取cookie,无法获取登录后页面,做了反爬虫jsoup爬取比较困难不建议。
2.使用webmagic+chromeDriver爬虫遇到问题会打开一个真实的窗口
3.使用webmagic+phantomJS爬虫遇到问题,登录时无法定位标签,通过固定浏览器尺寸解决;当进入页面后有弹窗需要点击关闭,使用click模拟点击关闭,因窗口是移动的出现无法关闭的情况,解决方法通过刷新关闭。
4.项目基本完成在打包时遇到问题,classNotFound与main方法找不到的问题,查询解决
5.打包后到真实环境测试发现读取不到xml文档与phantomJS驱动
5.1读取xml文档解决方法,采用流传递Class.getClassLoad().getResourceAsStream
5.2phantomJS驱动解决方法使用流获得驱动,然后下载到本地,从本地加载启动驱动
6.jar包冲突问题,统一jar包版本
7.新需求的加入定时爬取,用quartz框架做定时爬取,遇到问题驱动的获得,解决方法用类封装html 与 WebDriver
爬虫报错:
jar包统一版本:org.slf4j.spi.LocationAwareLogger.log
通过固定浏览器尺寸解决元素定位异常:rg. openga . selenium . InvalidElementStateException: |{" errMessage":“Element is not currently interactable and may not be manipulated”/ScreenshotException: Screen shot has been taken
driver.manage().window().setSize(new Dimension(1920, 1080));
关于元素定位异常还有一种可能就是页面还没加载出来可以设置等待时长:Thread.sleep();
关于弹窗的关闭也可以使用,如果使用谷歌驱动插件的话,移动窗口也可以关闭。
driver.findElement(By.xpath("爬虫xpath应该都知道,右键copyXpath")).click();