Selenium2+python自動化34-擷取百度輸入聯想詞

來源:互聯網
上載者:User

標籤:_id   小夥伴   bsp   attr   alt   for   flow   nts   技術   

前言

最近有小夥伴問百度輸入後,輸入框下方的聯想詞如何定位到,這個其實難度不大,用前面所講的元素定位完全可以定位到的。

本篇以百度輸入框輸入關鍵字匹配後,列印出聯想詞彙。

一、定位輸入框聯想詞

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 "未擷取到匹配的詞"

Selenium2+python自動化34-擷取百度輸入聯想詞

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.