1. 程式人生 > >selenium模擬登入知乎

selenium模擬登入知乎

Selenium是一個用於Web應用程式測試的工具。Selenium測試直接執行在瀏覽器中,就像真正的使用者在操作一樣。支援的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。這個工具的主要功能包括:測試與瀏覽器的相容性——測試你的應用程式看是否能夠很好得工作在不同瀏覽器和作業系統之上。測試系統功能——建立迴歸測試檢驗軟體功能和使用者需求。支援自動錄製動作和自動生成 .Net、Java、Perl等不同語言的測試指令碼。

首先通過豆瓣源安裝selenium包

然後去下載webdriver。只需要使用get方法就可以自動開啟網頁,如下所示。

from selenium import webdriver

browser = webdriver.Chrome(executable_path="C:/Users/Fitz/Desktop/software/chromedriver.exe")
browser.get("http://blog.csdn.net/fitz1318/article/details/54766795")

chromedriver一定要和自己的chrome版本對應好,具體對應見我的部落格http://blog.csdn.net/fitz1318/article/details/79299070

下面開始模擬登入知乎。首先還是分析知乎登入介面

依次發現賬號、密碼、登入


所以程式碼如下:

import time
from selenium import webdriver
from scrapy.selector import Selector

browser = webdriver.Chrome(executable_path='C:/Users/Fitz/Desktop/software/chromedriver.exe')

browser.get("https://www.zhihu.com/signin")

print(browser.page_source)
browser.find_element_by_css_selector(".SignFlow-accountInput.Input-wrapper Input").send_keys("17756021040")
browser.find_element_by_css_selector(".SignFlow-password Input").send_keys("XXXXX我的密碼//替換")

browser.find_element_by_css_selector(".Button.SignFlow-submitButton").click()
time.sleep(10)