Selenium2基礎(chǔ)學(xué)習(xí)(一)

因?yàn)橐恢毕矚gpython的簡(jiǎn)潔,所以各方面都有所涉獵,最近在研究scrapy,希望能在兩個(gè)星期內(nèi)能夠把一個(gè)網(wǎng)站用scrapy爬出來(lái)吧,在學(xué)習(xí)爬蟲過(guò)程中希望能夠更深入的了解py,所以最近放松時(shí)間又看了關(guān)于selenium的相關(guān)資料,鑒于共同學(xué)習(xí)的想法寫下自己的認(rèn)識(shí)吧。

其實(shí)應(yīng)該各位老司機(jī)大概都聽過(guò)selenium,但是不知道他是個(gè)什么姿勢(shì),我之前也聽過(guò),但是也不怎么清楚是干啥的,反正在各大相關(guān)py中都有他的身影,只知道他是主要用于Web應(yīng)用程序的自動(dòng)化測(cè)試。每次聽到自動(dòng)化都有一種很興奮的趕腳,畢竟之前聽過(guò)一位老司機(jī)用py進(jìn)行比特幣量化交易的例子,當(dāng)然這僅僅只是在金融行業(yè)里面的某個(gè)小范圍而已。所謂Web自動(dòng)化大概就是模擬鼠標(biāo)和鍵盤操作一些東西吧,這個(gè)感覺和爬蟲類似但卻不相同,爬蟲是掃,而Web自動(dòng)化大概就是模擬人點(diǎn)的意思吧說(shuō)得太抽象,上一哈代碼大概老司機(jī)就都知道了:

先說(shuō)目的,我的目的就是,到必應(yīng)搜索出出車牌號(hào)bf-389

那么如果按照這個(gè)目的,大概會(huì)有幾個(gè)步驟,1,選擇瀏覽器 ? ? ? 2.打開網(wǎng)址必應(yīng) ? ? ? 3.點(diǎn)到搜索框 ? ? ? ? ? ? ? 4.寫入bf-389 ?5.點(diǎn)擊、或者是回車搜索按鈕完成搜索,那么用代碼實(shí)現(xiàn)就是:

# coding=utf-8 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #防止有亂碼

from selenium import webdriver ? ? ?#從selenium導(dǎo)入webdriver,直接導(dǎo)入就太長(zhǎng)了selenium.webdriver....

olddriver = webdriver.Firefox() ? ? ? ?#這個(gè)的意思是獲得瀏覽器對(duì)象,也就是相當(dāng)于我要用火狐來(lái)開車, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?webdriver里面當(dāng)然也有很多的汽車可以供選擇,比如chrome,IE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?等等如果你想用chrome,那么賦值就olddriverwebdriver.Chrome()

olddriver.get('http://cn.bing.com/ ') ? #這個(gè)就是通過(guò)get來(lái)向Firfox瀏覽器發(fā)送必應(yīng)的URL

""" 接下來(lái)就是全自動(dòng)的自動(dòng)化過(guò)程了"""

olddriver.find_element_by_id('sb_form_q').send_keys('bf-389') ?#找到必應(yīng)的搜索框在網(wǎng)頁(yè)中對(duì)應(yīng)的元素


這條代碼意思


必應(yīng)搜索框的元素唯一就是id = 'sb_form_q'


olddriver.find_element_by_id('sb_form_go').click() ? ? ? ? ? #找到必應(yīng)搜索,也就是點(diǎn)擊搜索的按鈕


這條代碼意思就是找到這個(gè),點(diǎn)一下
這個(gè)搜索按鈕元素

olddriver.quit() ? #熄火下車。


然后就啟動(dòng)代碼,然后就能找到bf389的車牌了!

注意事項(xiàng)

首先我用的是Ubuntu系統(tǒng),win的系統(tǒng)大概也是這樣,只要記住核心步驟就行,然后對(duì)于Ubuntu來(lái)說(shuō),可能安裝selenium比較簡(jiǎn)單,但是難就難在有可能你執(zhí)行不了webdriver這個(gè)命令,原因很大可能是,你的Firefox瀏覽器的版本和你的Ubuntu版本不一致,或者是你的Firefox所在的位置webdriver找不到,這里就不細(xì)說(shuō)了,只有自己碰到了才會(huì)記住。stackoverflow上面都會(huì)有解答,如果各位老司機(jī)也碰到問(wèn)題,最好的方法是自己解決問(wèn)題,車有問(wèn)題還是你修是不是,作為老司機(jī)的我只能告訴你,google,biying,stackoverflow都有相關(guān)問(wèn)題的解答,望各位老司機(jī)共勉加油!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容