使用工具
pycharm(基于python語言)
使用的包和驅(qū)動(dòng)
selenium、chromedriver(與自己的谷歌版本對(duì)應(yīng))
設(shè)置selenium來接管使用中的瀏覽器弃舒,
- 否則就會(huì)出現(xiàn)錯(cuò)誤,錯(cuò)誤提示如下:10001:請(qǐng)求參數(shù)異常芽世,請(qǐng)升級(jí)客戶端后重試"
- 首先先將谷歌的路徑添加到環(huán)境當(dāng)中,選擇谷歌瀏覽器,右擊打開文件位置,復(fù)制路徑
- 右擊我的電腦诡壁,選擇屬性---高級(jí)系統(tǒng)---新建path將路徑復(fù)制進(jìn)去
path環(huán)境.png
- 打開控制窗口,輸入 cmd回車济瓢,在命令窗口輸入如下命令,當(dāng)輸入chrome.exe時(shí)會(huì)打開一個(gè)小窗口妹卿,再輸入命令
chrome.exe --remote-debugging-port=9222 --user-data-dir="F:\selenium_data",F:\selenium_data
為數(shù)據(jù)存儲(chǔ)的地方
輸入命令.png
- 保留這個(gè)瀏覽器的窗口旺矾,當(dāng)運(yùn)行代碼的時(shí)候觀察這個(gè)窗口的變化即可
實(shí)現(xiàn)的基本步驟
1. 初始化ChromeDriver
2. 打開知乎登錄頁面
3. 切換密碼登錄界面
4. 設(shè)置selenium來接管使用中的瀏覽器,否則就會(huì)出現(xiàn)錯(cuò)誤纽帖,錯(cuò)誤提示如下:10001:請(qǐng)求參數(shù)異常宠漩,請(qǐng)升級(jí)客戶端后重試"
3. 找到用戶名框举反,輸入用戶名
4. 找到密碼框懊直,輸入密碼
5. 按下enter鍵
6. 手動(dòng)滑動(dòng)驗(yàn)證碼
代碼實(shí)現(xiàn)
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222") # 前面設(shè)置的端口號(hào)
#驅(qū)動(dòng)
driver=webdriver.Chrome(options=chrome_options)
driver.get("https://www.zhihu.com/signin?next=%2F")
time.sleep(1)
#點(diǎn)擊密碼登錄界面
driver.find_element_by_css_selector("div[class='SignFlow-tab']").click()
#找到用戶框,輸入用戶名
elem=driver.find_element_by_name("username")
elem.clear()
#輸入賬號(hào)
elem.send_keys("13471479481")
#找到密碼框火鼻,輸入密碼
password=driver.find_element_by_name("password")
password.clear()
password.send_keys("moqiaoli123926")
#
##模擬鍵盤回車
elem.send_keys(Keys.RETURN)
time.sleep(4)
print(driver.page_source)
driver.quit()