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