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

2.31 练习题3:获取百度联系词

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

2.31 练习题3:获取百度联系词

51Testing软件测试网-})Z4J H)\h*Ti

前言51Testing软件测试网la4R'NT.K4Wp
最近有小伙伴问百度输入后,输入框下方的联想词如何定位到,这个其实难度不大,用前面所讲的元素定位完全可以定位到的。51Testing软件测试网4RY)\#x1J{~+jj
本篇以百度输入框输入关键字匹配后,打印出联想词汇。
dxD lm u-Z0一、定位输入框联想词51Testing软件测试网V3@7@+i2^y@u
1.首先在百度输入框输入关键词,如:博客,然后输入框下方会自动匹配出关键词。
Z*i'I\;Q y02.这时候可以用firebug工具定位到联想出来的词,可以看到下方匹配出来的词都有共同的class属性,这时候就可以全部定位到了。

.}5@{Fs!dI4s].P/o051Testing软件测试网([,zA2r zw

,M*\+v$M`051Testing软件测试网\jg&fcMRO

二、打印全部匹配出来的词51Testing软件测试网5}yGW%BV3dg
1.通过get_attribute()方法获取到文本信息

QA9YFO0

o*o-b"x:cgz:hy VDU0

P~ I#T-?['H1U0

:Lo!H.cU!^ B ~"S0三、点击其中一个51Testing软件测试网AK,AN r
1.点击其中的一个联想词,如:第二个
Mn"V'Q7uZ[02.这里可以先加一个判断,如果获取到了就点击,没获取到就不点击了,以免抛异常。51Testing软件测试网5s9t9G2W1}Qzao
(如果想依次点击,用for循环就可以了)51Testing软件测试网r1['CS%dql Q

51Testing软件测试网x7d"~MpdE

51Testing软件测试网G,U;[4Ti5l

rtMdH0三、参考代码

M.RC@'B3@0
复制代码
#coding:utf-8fromseleniumimportwebdriverimporttime
driver=webdriver.Firefox()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
time.sleep(1)
driver.find_element_by_id("kw").send_keys(u"博客")#获取百度输入框的time.sleep(1)
bd= driver.find_elements_by_class_name("bdsug-overflow")foriinbd:
   printi.get_attribute("data-key")#点击其中的一个,如:第二个iflen(bd) > 1:
    bd[1].click()
   #打印当前页面url   printdriver.current_urlelse:
   print"未获取到匹配的词"
复制代码

TAG:

 

评分:0

我来说两句

Open Toolbar