以百度為例講一下文本輸入框腻要、按鈕的定位及輸入锐借、點(diǎn)擊等操作竭沫。還是先上代碼:
from?selenium?import?webdriverimport?time
mydriver=webdriver.Firefox()
mydriver.get("http://www.baidu.com")
inputbox=mydriver.find_element_by_css_selector('input[name="wd"]')
btn=mydriver.find_element_by_css_selector('input[class="bgs_btn"]')
inputbox.send_keys("diarybook.site")
btn.click()
time.sleep(5)
mydriver.quit()
整個(gè)代碼的流程為:打開(kāi)瀏覽器-定位到文本輸入框inputbox-定位到“百度一下按鈕”btn-文本框inputbox輸入內(nèi)容-“百度一下按鈕”btn點(diǎn)擊-關(guān)閉瀏覽器膀捷。這里涉及到的新命令有:
1撕捍、元素定位/查找拿穴。
inputbox=mydriver.find_element_by_css_selector('input[name="wd"]')
使用css選擇器來(lái)定位元素,用法很簡(jiǎn)單忧风。我們先看下百度搜索輸入框的html標(biāo)簽代碼:
這是一個(gè)input標(biāo)簽贞言,有多個(gè)屬性,我們隨便選一個(gè)屬性就可以阀蒂,例如class="bg s_btn" 该窗,然后.find_element_by_css_selector('input[class="bg s_btn" ]')定位就可以了≡橄迹“百度一下”按鈕也是這個(gè)思路酗失。總結(jié)一下css選擇器的格式就是:'標(biāo)簽名[屬性名="屬性值"]',外面是單引號(hào)昧绣,里面是雙引號(hào)规肴。
2、文本框內(nèi)容的輸入夜畴。
inputbox.send_keys("diarybook.site")
往輸入框里輸入內(nèi)容拖刃,send_keys函數(shù),參數(shù)就是輸入的內(nèi)容贪绘。這個(gè)inputbox就是之前定位到的百度搜索的輸入框兑牡。
3、點(diǎn)擊操作税灌。
btn.click()
點(diǎn)擊按鈕均函。這個(gè)按鈕就是定位到的“百度一下”按鈕。