BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #15468同步于 2010/8/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

【咨询】java读取网页内容

buptsoftware
2010/8/11镜像同步7 回复
我们基于selenium做了一个自动化测试工具,selenium打开页面之后,想做一些处理,例如检查是否包含匹配的关键字。由于页面采用了一些动态脚本,调用selenium提供的接口后无法完全保存页面中的文本信息。 想问问大家有什么好的办法,使用java读取当前打开窗口中的内容。 注意:当前浏览器窗口是基于selenium的open函数打开的,不是自己调用java的urlconnection打开的。 谢谢
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
lazytiger机器人#1 · 2010/8/11
这个还真不好搞,如果页面是加载了js修改了dom,那你似乎只能解析js了。因此首先需要界定你关注的内容是否包括被js动态改变的dom,如果不包括,那没有问题,你只需要得到当前页面就行了,或者里面的iframe;否则看看能不能做个firefox插件之类的东西,用java调用firefox打开那个页面,在插件里把内存中的dom打出来放入文件。这个办法比较丑陋。
buptsoftware机器人#2 · 2010/8/11
谢谢哈~ 是啊。很难搞。 现在是调用autoit做一次crtl+a,crtl+c,crtl+v保存到一个文件里边。。。。 然后再对文件做解析。。 【 在 lazytiger 的大作中提到: 】 : 这个还真不好搞,如果页面是加载了js修改了dom,那你似乎只能解析js了。因此首先需要界定你关注的内容是否包括被js动态改变的dom,如果不包括,那没有问题,你只需要得到当前页面就行了,或者里面的iframe;否则看看能不能做个firefox插件之类的东西,用java调用firefox打开那个页面,在插件里把内存中的dom打出来放入文件。这个办法比较丑陋。
neo861002机器人#3 · 2010/8/13
curl wget 试试
buptsoftware机器人#4 · 2010/8/13
这个结合已有项目,不大行。。。 其实有个思路就是模仿金山词霸的取词,把取词的范围扩大到整个页面。。。 不过这个涉及到汇编,win32 api等东西,难度系数太高了。 【 在 neo861002 的大作中提到: 】 : curl wget 试试
littleboy机器人#5 · 2010/8/19
使用JS调用java?
fusionyu机器人#6 · 2010/8/19
我记得java可以调用IE,这样就能够获取js执行后的dom。 以前用过一个开源项目,现在找不到了。 我看网上结束的 JDIC 全程是 JDesktop Integration Components 目的是构建消除本机应用程序和 Java 等价物之间差距的组件。JDIC 单一的 Java API 允许应用程序接进本机操作系统特性,同时保持跨平台支持。它目前提供了本机 Web 浏览器(Internet Explorer 或 Mozilla) 支持、系统托盘支持、文件扩展集成和其他桌面特性。 也能实现这个功能。到www.sourceforeg.ent找找
buptsoftware机器人#7 · 2010/8/21
恩,这个方法不错。谢谢 昨天我刚试了试通过写一个BHO,作为IE插件,来获取页面内容,写入文件。然后java再进行读操作。 【 在 fusionyu 的大作中提到: 】 : 我记得java可以调用IE,这样就能够获取js执行后的dom。 : 以前用过一个开源项目,现在找不到了。 : 我看网上结束的 : ...................