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

2.18 爬页面源码(page_source)

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

2.18 爬页面源码(page_source)

w5X@P3rTV0前言
G/Dy0N's~E_0有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息。selenium的page_source方法可以获取到页面源码。
eC3o)jd0一、page_source
j%z5A8CE t6c01.selenium的page_source方法可以直接返回页面源码
uE{:BG X;D02.重新赋值后打印出来

V9t7d Psq2^ T$Ka0

]@ kVj2b*A0

+m$[+W aj*]5f0

aW~0G {5l(}3rN:jFR+Y0二、re非贪婪模式51Testing软件测试网6k_ c+tNO F
1.这里需导入re模块(正则表达式模块)
+n'P,} ~-`p6}^4nqQ02.用re的正则匹配:非贪婪模式51Testing软件测试网Zif8J%J7`
3.findall方法返回的是一个list集合51Testing软件测试网 u9l4i[.^%[-WN7`
4.匹配出来之后发现有一些不是url链接,可以筛选下51Testing软件测试网n0?6{QIIi%? N

UX\1\*nh?051Testing软件测试网!n?J2N J

Q}Bet2U/{0三、筛选url地址出来51Testing软件测试网:[%Q#pw:O^b+s[
1.加个if语句判断,‘http’在url里面说明是正常的url地址了
z6O\%m?"_a02.把所有的url地址放到一个集合,就是我们想要的结果啦51Testing软件测试网eU7IR&xj"G!XI

51Testing软件测试网5d I.va$?Rr

2RJU@J7N bE051Testing软件测试网4{-x#`+\3WiE/\

四、参考代码51Testing软件测试网j|.u{6B6GN

复制代码
#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