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

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

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

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

Ak!dIq0前言
.c"u6S&|e u I0最近有小伙伴问百度输入后,输入框下方的联想词如何定位到,这个其实难度不大,用前面所讲的元素定位完全可以定位到的。
v |4jL'v _%L0本篇以百度输入框输入关键字匹配后,打印出联想词汇。
!t)gK)a-b4kl0一、定位输入框联想词51Testing软件测试网E \2{'{EB!_t
1.首先在百度输入框输入关键词,如:博客,然后输入框下方会自动匹配出关键词。
&C$c&A{%?3A"v,f F i p;e2l%^02.这时候可以用firebug工具定位到联想出来的词,可以看到下方匹配出来的词都有共同的class属性,这时候就可以全部定位到了。

'Q-Kcj*Q051Testing软件测试网 O_Y`A

51Testing软件测试网-{XX4uG;{uk

M8C|&{W0二、打印全部匹配出来的词51Testing软件测试网l5VD_mg
1.通过get_attribute()方法获取到文本信息51Testing软件测试网4x1a8[4l(K_L5sq

J9T!V:p9qCy0

M%Oq1Y%}IX{4]0

9KNxR9d0三、点击其中一个
4a-U+P;?;n1Mx2YF01.点击其中的一个联想词,如:第二个
z9?.~P#t D.S,v]2] I02.这里可以先加一个判断,如果获取到了就点击,没获取到就不点击了,以免抛异常。51Testing软件测试网,ET/\ q%N&hkG
(如果想依次点击,用for循环就可以了)

HN:fuE6vR0

"t)P&@9}^:r0

:l8J,h,zp5Ou0

:V9\]U h({'p0三、参考代码51Testing软件测试网r ihiW%o4t} E

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