from selenium import webdriver
import time
#去掉自動化控制提示
options = webdriver.ChromeOptions()
options.add_experimental_option('useAutomationExtension', false)
options.add_experimental_option("excludeSwitches", ['enable-automation'])
#開啟Chrome瀏覽器,引數是chromedriver.exe驅動,下載方式下面會詳細說
# r是表名\不做為跳脫符
driver = webdriver.Chrome(r'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
#最大化
driver.maximize_window()
#休眠一秒
time.sleep(1)
#定位到csdn登入頁面
driver.get('https://passport.csdn.net/login')
time.sleep(1)
#通過xpath定位到使用者名稱密碼登入位置,點選進行使用者名稱和密碼的輸入
driver.find_element_by_xpath('//*[@id="app"]/div/div/div[1]/div[2]/div[5]/ul/li[2]/a').click()
time.sleep(1)
#輸入使用者名稱和密碼函數,並進行登入操作
def _login_(username, password):
input_username = driver.find_element_by_xpath('//*[@id="all"]')
#點選賬戶輸入框
input_username.click()
# 情況輸入框中的內容
input_username.clear()
# 輸入使用者名稱
input_username.send_keys(username)
#通過id獲取元素
input_password = driver.find_element_by_id('password-number')
time.sleep(1)
input_password.send_keys(password)
driver.find_element_by_xpath('//*[@id="app"]/div/div/div[1]/div[2]/div[5]/div/div[6]/div/button').click()
username = "xxxxxxx"
password = "xxxxxxxx"
_login_(username, password)
chromeDriver.exe工具是Chrome的WebDriver,可以用於自動化測試,可以操作瀏覽器,同時selenium操作chrome瀏覽器需要有ChromeDriver驅動來協助
下載地址:http://chromedriver.storage.googleapis.com/index.html
解壓之後,放到Chrome的根目錄下
然後放到python專案的根目錄下
Selenium 是一個用於Web應用程式測試的工具
框架底層使用JavaScript模擬真實使用者對瀏覽器進行操作。測試指令碼執行時,瀏覽器自動按照指令碼程式碼做出點選,輸入,開啟,驗證等操作,就像真實使用者所做的一樣,從終端使用者的角度測試應用程式。
以百度搜尋方塊為例
右鍵搜尋方塊 -> 檢查,然後就會看到高亮顯示的程式碼,至此定位成功
1、通過id : find_element_by_id(‘id’)
‘id’為id屬性的值
2、通過class : find_element_by_class(‘class’)
’class’為class屬性的值
3、通過xpath : find_element_by_xpath(’’)
右鍵定位的搜尋方塊程式碼 -> copy -> copy xpath
1、開啟Chrome瀏覽器
2、跳轉到csdn登入的地址
3、獲取賬號密碼登入元素物件,執行點選操作
4、定位到賬戶輸入框,輸入賬號
5、定位到密碼輸入框,輸入密碼
6、獲取登入按鈕元素物件,並執行點選操作
後續打包工具使用pyinstaller,不再多說
一些大型網站都有強大的反爬機制,有時會進性滑動視窗和圖片的驗證操作,當然利用python也能快速的實現
欲知後事如何,請看下回分解
未完待續…