前言

最近有小伙伴问百度输入后,输入框下方的联想词如何定位到,这个其实难度不大,用前面所讲的元素定位完全可以定位到的。

本篇以百度输入框输入关键字匹配后,打印出联想词汇。

一、定位输入框联想词

1.首先在百度输入框输入关键词,如:博客,然后输入框下方会自动匹配出关键词。

2.这时候可以用firebug工具定位到联想出来的词,可以看到下方匹配出来的词都有共同的class属性,这时候就可以全部定位到了。

二、打印全部匹配出来的词

1.通过get_attribute()方法获取到文本信息

三、点击其中一个

1.点击其中的一个联想词,如:第二个

2.这里可以先加一个判断,如果获取到了就点击,没获取到就不点击了,以免抛异常。

(如果想依次点击,用for循环就可以了)

三、参考代码

# coding:utf-8
from selenium import webdriver
import time
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")
for i in bd:
    print i.get_attribute("data-key")

# 点击其中的一个,如:第二个
if len(bd) > 1:
    bd[1].click()
    # 打印当前页面url
    print driver.current_url
else:
    print "未获取到匹配的词"

学习过程中有遇到疑问的,可以加selenium(python+java) QQ群交流:646645429

《selenium+python高级教程》已出书:selenium webdriver基于Python源码案例

(购买此书送对应PDF版本)

Selenium2+python自动化34-获取百度输入联想词相关推荐

  1. Selenium2+python自动化24-js处理富文本(带iframe)

    前言 上一篇Selenium2+python自动化23-富文本(自动发帖)解决了富文本上iframe问题,其实没什么特别之处,主要是iframe的切换,本篇讲解通过js的方法处理富文本上iframe的 ...

  2. Selenium2+python自动化43-判断title(title_is)

    前言 获取页面title的方法可以直接用driver.title获取到,然后也可以把获取到的结果用做断言. 本篇介绍另外一种方法去判断页面title是否与期望结果一种,用到上一篇Selenium2+p ...

  3. Selenium2+python自动化7-xpath定位

    前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. ...

  4. Selenium2+python自动化33-文件上传(send_keys)

    前言 文件上传是web页面上很常见的一个功能,自动化成功中操作起来却不是那么简单. 一般分两个场景:一种是input标签,这种可以用selenium提供的send_keys()方法轻松解决: 另外一种 ...

  5. Selenium2+python自动化28-table定位

    前言 在web页面中经常会遇到table表格,特别是后台操作页面比较常见.本篇详细讲解table表格如何定位. 一.认识table 1.首先看下table长什么样,如下图,这种网状表格的都是table ...

  6. Selenium2+python自动化57-捕获异常(NoSuchElementException)

    Selenium2+python自动化57-捕获异常(NoSuchElementException) 参考文章: (1)Selenium2+python自动化57-捕获异常(NoSuchElement ...

  7. Selenium2+python自动化54-unittest生成测试报告(HTMLTestRunner)

    前言 批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLT ...

  8. python自动化之——获取钉钉群所有人的昵称

    python自动化之--获取钉钉群所有人的昵称 楔子 精神小伙沙大柱入职了一家新公司,该公司所有成员都在钉钉群. 一天,沙大柱的上级沙小牛布置了任务:大柱,你把群里所有人的名称导出来吧,我不会操作. ...

  9. [Python爬虫] Selenium获取百度百科旅游景点的InfoBox消息盒

    前面我讲述过如何通过BeautifulSoup获取维基百科的消息盒,同样可以通过Spider获取网站内容,最近学习了Selenium+Phantomjs后,准备利用它们获取百度百科的旅游景点消息盒(I ...

最新文章

  1. 【学习笔记】git 使用文档
  2. 制作灵动单片机MM32F3277 测试版
  3. 一条sql语句统计一个字段的不同条件, 无需过多子查询
  4. android helloworld程序
  5. fifo算法模拟_[源码和文档分享]基于C++的请求分页虚拟页面替换算法
  6. SimUDuck 策略模式
  7. python import request 不报错_爬虫学习路径整理及安装环境遇到的坑
  8. 转:Web Service入门开发简单例子--很详尽
  9. js splice坑_JavaScript的splice()方法在for循环中使用可能会遇到的坑!!!
  10. win8开发中需要用到一些系统版本之类的统计信息,总结如下。
  11. coreos 搭建PHP,Linux_用Mac在CoreOS上搭建WordPress的教程,作者以自己的Mac笔记本为例, - phpStudy...
  12. mysql 5.6特性_MySQL 5.6新特性概览
  13. FreeRTOS的HOOK,以及(23)FreeRTOS 空闲任务分析
  14. 内存对齐、内存对齐规则解释、内存对齐原理
  15. cistern java,basin是什么意思_basin怎么读_basin翻译_用法_发音_词组_同反义词_盆-新东方在线英语词典...
  16. linux进程命令at,Linux进程管理命令之sa/at/atq。
  17. JavaFx教程-02第一个javaFX程序
  18. ps cc2019版为什么做图一复制图层就卡死_你所不知道的十个被藏起来的PS功能,超级实用!...
  19. 【云和恩墨】zData Light 敏捷助力威海市立医院核心系统性能提升
  20. 今日金融词汇--- 高杠杆模式

热门文章

  1. 关闭笔记本显示器指定组合键才能打开_八大品牌笔记本Fn组合键大全
  2. python的误差条形图的解释_python – Seaborn因子图自定义误差条
  3. 全网最快安装JDK17教程(windows版本)
  4. [企业内部https证书配置]tomcat 7配置https的完整历程
  5. Java 之 注释介绍
  6. CTF中遇到不知道文件类型_遇到孩子厌学不知道怎么沟通?做好这些策略,孩子肯定爱学...
  7. D. Magic Breeding
  8. D. Little Artem and Dance
  9. MySQL解析json字符串的相关问题
  10. 风吹来_“秃如其来”的年轻人,如何才能让头发“春风吹又生”?