[Selenium] 從一個實例開始,訪問Baidu並進行關鍵字搜索


下面是一個簡單的實例

#coding:utf-8

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome()
browser.get('http://www.baidu.com')
assert "百度" in browser.title
elem = browser.find_element_by_id("kw")
elem.send_keys("今日熱點")
elem.send_keys(Keys.RETURN)

time.sleep(20)
browser.close()

分析該實例

由於該編碼涉及中文,因此在前端聲明解碼個稅為utf-8

#coding:utf-8

 

selenium.webdriver模塊提供了一個webdriver的實現, 目前可以支持Firefox, Chrome, IE 和Remote。

Keys模塊提供了一些鍵盤操作,如 Return, F1, ALT 等等

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

 

接着,創建一個瀏覽器實例Chrome

browser = webdriver.Chrome()

如果創建IE,可以采用以下方式

browser = webdriver.Ie()

當你第一次運行,可能出現錯誤提示

selenium.common.exceptions.WebDriverException: Message: IEDriver executable needs to be available in the path.

是因為執行這些實例需要添加相應的driver

 

然后通過get函數訪問url。這里需要聲明的是get函數會等待頁面安全加載以后,才會將控制權交回python 腳本, 否則一直等待。

當頁面加載完成后,判斷該網頁的title是否包含 “百度”

browser.get('http://www.baidu.com')
assert "百度" in browser.title
 
        

 

打開百度后,研究百度的編碼,這里可以用Chrome按F12鍵進行源碼分析

1

 

1. 從源碼分析可知,搜索框輸入表格的id為kw

elem = browser.find_element_by_id("kw")

2. 像搜索框中發送關鍵字

elem.send_keys("今日熱點")

3. 模擬鍵盤Enter鍵提交搜索需求

elem.send_keys(Keys.RETURN)

 

最后等待20秒后,關閉瀏覽器

browser.close()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM