测试必须在时间、质量和成本之间获取一个平衡点,这是测试策略和测试设计的价值体现。

2.18 爬页面源码(page_source)

上一篇 / 下一篇  2018-06-12 10:52:39 / 个人分类:Python+Selenium2 WebDriver API

2.18 爬页面源码(page_source)

.D"Wh&~6B3VkI0前言51Testing软件测试网5F6g?i$U+w8w
有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息。selenium的page_source方法可以获取到页面源码。51Testing软件测试网4K)C{8V8K
一、page_source51Testing软件测试网/|0tpxz
1.selenium的page_source方法可以直接返回页面源码51Testing软件测试网2e(J9W&i,E`%E
2.重新赋值后打印出来

!x-M(KjN)Gp`0

x7Q%\7IX*|.\1[0

cMPv]TAT"Jz051Testing软件测试网_ \!}-Tk5F-v-_g

二、re非贪婪模式51Testing软件测试网s4]4Dt'c3O
1.这里需导入re模块(正则表达式模块)
`5q)b/U3L.BP02.用re的正则匹配:非贪婪模式51Testing软件测试网"r%i#J2M2Y
3.findall方法返回的是一个list集合
4KfwL%Om oE9u5}04.匹配出来之后发现有一些不是url链接,可以筛选下

c#sWDY D0

)PLh/?F x051Testing软件测试网Z5Jq.Hcz

&KdaI3r{"VX0三、筛选url地址出来
k&qy*G S;ri&jo n d01.加个if语句判断,‘http’在url里面说明是正常的url地址了51Testing软件测试网w p5aC[p` k
2.把所有的url地址放到一个集合,就是我们想要的结果啦

0RW5dg/b7yd0

Y.@F'DiM H0

d\ JC0Rw0A0

a1l5kQp&xc0四、参考代码

d%oQ@'u9c0hizv0
复制代码
#coding:utf-8fromseleniumimportwebdriverimportre
driver=webdriver.Firefox()
driver.get("http://www.cnblogs.com/yoyoketang/")
page=driver.page_source#print page#"非贪婪匹配,re.S('.'匹配字符,包括换行符)"url_list = re.findall('href=\"(.*?)\"', page, re.S)
url_all=[]forurlinurl_list:
   if"http"inurl:
       printurl
        url_all.append(url)#最终的url集合printurl_all
复制代码

TAG:

 

评分:0

我来说两句

Open Toolbar