51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3018|回复: 12
打印 上一主题 下一主题

[原创] 如何获取源文件中的某一行 URL地址

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-24 17:13:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如下面的源代码 我想获取http://www.51testing.com 使用QTP如何操作
<a href="http://www.51testing.com" target="_blank">软件测试门户</a> | <a href="http://www.51testing.net" target="_blank">软件测试培
训</a> | <a href="http://www.51testing.com/?action_news.html" target="_blank">文章资料精选</a> | <a href="http://bbs.51testing.com/" target="_blank">软件测试论坛</a> | <a href="http://www.51testing.com/?action_blog.html" target="_blank">软件测试博客</a> | <a href="http://hr.51testing.com" target="
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-7-24 17:29:38 | 只看该作者
这么麻烦...
QTP对象库里,Browser和Page层对象应该都有URL属性的,你仔细看看
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-7-24 17:35:35 | 只看该作者
你是想从这一段字符串中取出其中的url链接吧?? 用split 不就好了?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-7-24 17:44:09 | 只看该作者
应为URL地址是在程序运行后 必须到源文件中查看才能得到 必须还要找到该URL才可以 各位帮忙 
要是用SPLIT那就更麻烦 看看源文件就知道不可能 
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-7-24 19:35:19 | 只看该作者

首先你可以发现,这个其实是一些link来的。
你先描述出这些link
browser("").page("").link("text:=......")
然后,其实只要你通过getroproperty("url")就可以得到了。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-7-24 23:24:35 | 只看该作者
结合DOM技术和正则表达式就能够获取到你想要的值
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-7-25 10:52:13 | 只看该作者
LS 能否详细些?? 非常感谢
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-7-25 14:11:31 | 只看该作者
就这个问题也想问下,QTP除了支持正则表达式外,还支持别的表达式吗,比如xpath。。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-7-25 17:01:08 | 只看该作者
高手们 帮帮忙啊
!!!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-7-25 17:40:15 | 只看该作者
Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' 建立变量。
   Set regEx = New RegExp   ' 建立正则表达式。
   regEx.Pattern = patrn   ' 设置模式。
   regEx.IgnoreCase = True   ' 设置是否区分大小写。
   regEx.Global = True   ' 设置全局替换。
   Set Matches = regEx.Execute(strng)   ' 执行搜索。
   For Each Match in Matches   ' 遍历 Matches 集合。
      RetStr = RetStr & "Match " & I & " found at position "
      RetStr = RetStr & Match.FirstIndex & ". Match Value is "'
      RetStr = RetStr & Match.Value & "'." & vbCRLF
   Next
   RegExpTest = RetStr
End Function

'正则
regpatrn = "http(s)?://([\w-]+\.)+[\w-]+(/[\w-   ./?%&=]*)?"
MsgBox(RegExpTest(regpatrn, "afasfasfasfasfasdfasfasfd http://www.51testing.com afasfaf"))

看看上面这个例子,把输入输出改下就可用使了。
这些手册上都有,多看看手册
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-7-28 08:51:51 | 只看该作者
fei chang gan xie
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2008-7-28 13:21:58 | 只看该作者
不错 搞
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2008-7-28 13:22:23 | 只看该作者
起来了 非常感谢 高手很强大啊
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 10:01 , Processed in 0.073788 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表