1. 程式人生 > 實用技巧 >Selenium3+python3自動化(二十四)--獲取百度輸入聯想詞

Selenium3+python3自動化(二十四)--獲取百度輸入聯想詞

前言

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

下面以百度輸入框輸入關鍵字匹配後,打印出聯想詞彙。

一、定位輸入框聯想詞

1.首先在百度輸入框輸入關鍵詞,如‘部落格’,然後輸入框下方會自動匹配出關鍵詞。

2.這時候滑鼠懸停在某個聯想詞上,點選右鍵,選擇‘檢查’,會自動彈出DevToos(F12)視窗。

3.可以看到下方匹配出來的詞都有共同的class屬性,這時候可以使用find_elements_...全部定位了

二、列印全部匹配出來的詞

1.通過get_attribute()方法獲取到文字資訊

三、點選其中一個

1.點選其中的一個聯想詞,如:第三個

2.這裡可以先加一個判斷,如果獲取到了就點選,沒獲取到就不點選了,以免拋異常。

參考程式碼:

# coding:utf-8
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_name("wd").send_keys("xixi")
time.sleep(2)
rs=driver.find_elements_by_class_name("bdsug-overflow")
for i in rs:
    print(i.get_attribute("data-key"))
if len(rs)>=3:
    rs[2].click()

 執行結果: