请教关于DOM的一个实现方法?
如何用dom来实现:只传入一个文字,遍历到页面上包含该文字的所有html对象?不用QTP自带的方法。 本帖最后由 shingo0109 于 2011-3-1 14:11 编辑根据百度首页简单写了个,不知是否符合LZ要求, 多提意见~~
inputstring="百"
Set Doc = Browser("CreationTime:=0").Page(":=").Object
For Each Element In Doc.all
InnerText = Element.innerText
If Instr(1, InnerText, inputstring) >0 Then
Print "innertext=" &InnerText & vbcrlf
End If
Next 多谢~~!这就是我要的但是all这个集合似乎在firefox下不能用,我后来查了用document.getElementsByTagName('*')也行,还有一个问题就是innerText属性在firefox下不能用,在IE是可以的,firefox下可以用textContent属性,但是这个属性在IE下又有问题。。。。:L有什么方法可以实现两个浏览器通用吗?我是想用selenium,想写一些基础的方法可以支持IE和FF 回复 3# wugecat
可不可以通过判断浏览器的类型来添加if else条件, 如果浏览器是IE, 那就使用innertext属性, 如果是firefox,那就使用textcontent
至于如何判断浏览器类型, 我还没试过, 要不LZ试试 试了下, 貌似可以通过GetROProperty("application version")来判断浏览器类型 浏览器的类型获取方法有很多,我不明白的是,这个浏览器应该是你自己通过QTP启动的,这时候还需要判断吗? 回复 6# xiaoyaoke
貌似LZ是想用selenium来实现浏览器通用, 我上面的GetROProperty应该不能用了, 那个是QTP里的方法, 用selenium工具怎么判断浏览器还没用过, 还望LZ自己试试了 用selenium也是在初始化的时候自己启动浏览器啊,这个时候是自己确定的启动的是IE还是Firefox之类的,只在不行就selenium里面去get http header中的User-Agent了,而且记得在浏览器里面应该也是有方法获取浏览器类型的,通过JS貌似可以获取
办法很多的,自己想想 回复 8# xiaoyaoke
恩, 是自己启动浏览器的啊, 但自己有时会启动IE, 有时会启动firefox, 如果代码里不加判断, 只写一种的话, 到时启动另外一个浏览器时, 属性不就无法识别了么。
至于怎么取浏览器, 还请LZ自己试试了:D 呵呵~可以这样判断!
if(document.all){
alert("IE")
}else
{
alert("FF")
}
页:
[1]