使用Selenium模擬賬戶登錄
在之前的文章中,我介紹了如何使用Python和Selenium獲取網(wǎng)頁源碼以及定位DOM元素。現(xiàn)在我們要實(shí)現(xiàn)的是模擬登錄功能,需要在登錄頁面的兩個(gè)輸入框中輸入用戶名和密碼。 定位用戶名輸入框 首先
在之前的文章中,我介紹了如何使用Python和Selenium獲取網(wǎng)頁源碼以及定位DOM元素?,F(xiàn)在我們要實(shí)現(xiàn)的是模擬登錄功能,需要在登錄頁面的兩個(gè)輸入框中輸入用戶名和密碼。
定位用戶名輸入框
首先,我們需要通過開發(fā)者工具來獲取用戶名輸入框的DOM元素信息。打開開發(fā)者工具窗口,并使用元素選擇器定位到用戶名輸入框的位置。例如,用戶名輸入框的源碼為:
lt;input id"TANGRAM__PSP_10__userName" type"text" name"userName" class"pass-text-input pass-text-input-userName" autocomplete"off" value"" placeholder"手機(jī)/郵箱/用戶名"gt;
可以看到該標(biāo)簽有一個(gè)ID屬性,我們可以使用find_element_by_id方法直接定位到該元素。
輸入用戶名
接下來,我們需要在用戶名輸入框中輸入我們的用戶名信息。我們可以使用send_keys方法,在輸入框內(nèi)輸入指定的內(nèi)容。同樣地,我們使用相同的方法找到密碼輸入框的源碼:
lt;input id"TANGRAM__PSP_10__password" type"password" name"password" class"pass-text-input pass-text-input-password" autocomplete"off" value"" placeholder"密碼"gt;
然后將我們的密碼鍵入到代碼中,讓其自動(dòng)輸入。
點(diǎn)擊登錄按鈕
最后,我們需要點(diǎn)擊登錄按鈕。找到對(duì)應(yīng)的源碼:
lt;input id"TANGRAM__PSP_10__submit" type"submit" value"登錄" class"pass-button pass-button-submit"gt;
同樣地,該標(biāo)簽也有一個(gè)ID屬性,我們可以使用find_element_by_id方法定位到該元素。
代碼示例
以下是完整的Python代碼示例:
from selenium import webdriver
from time import sleep
browser ()
('')
sleep(2) # 等待網(wǎng)頁加載
_element_by_css_selector('#u1 .lb').click() # 通過class來獲取DOM元素
#_element_by_css_selector('#u1 > a[name"tj_login"]').click() # 通過標(biāo)簽來獲取DOM元素
sleep(2) # 等待網(wǎng)頁加載
_element_by_id('TANGRAM__PSP_10__footerULoginBtn').click()
_element_by_id('TANGRAM__PSP_10__userName').send_keys('*')
_element_by_id('TANGRAM__PSP_10__password').send_keys('*')
_element_by_id('TANGRAM__PSP_10__submit').click()
通過以上代碼,我們可以實(shí)現(xiàn)使用Selenium模擬打開瀏覽器,并自動(dòng)輸入用戶名和密碼進(jìn)行登錄。請(qǐng)注意,由于這里設(shè)置了安全驗(yàn)證,所以沒有直接登錄成功。如果想直接登錄,可以將安全驗(yàn)證關(guān)閉。