摘要:可以根據(jù)我們的指令,讓瀏覽器自動(dòng)加載頁(yè)面,獲取需要的數(shù)據(jù),甚至頁(yè)面截屏,或者判斷網(wǎng)站上某些動(dòng)作是否發(fā)生。自己不帶瀏覽器,不支持瀏覽器的功能,它需要與第三方瀏覽器結(jié)合在一起才能使用。
Selenium
Selenium是一個(gè)Web的自動(dòng)化測(cè)試工具,最初是為網(wǎng)站自動(dòng)化測(cè)試而開(kāi)發(fā)的,類型像我們玩游戲用的按鍵精靈,可以按指定的命令自動(dòng)操作,不同是Selenium 可以直接運(yùn)行在瀏覽器上,它支持所有主流的瀏覽器(包括PhantomJS,Chrome這些無(wú)界面的瀏覽器)。
Selenium 可以根據(jù)我們的指令,讓瀏覽器自動(dòng)加載頁(yè)面,獲取需要的數(shù)據(jù),甚至頁(yè)面截屏,或者判斷網(wǎng)站上某些動(dòng)作是否發(fā)生。
Selenium 自己不帶瀏覽器,不支持瀏覽器的功能,它需要與第三方瀏覽器結(jié)合在一起才能使用。但是我們有時(shí)候需要讓它內(nèi)嵌在代碼中運(yùn)行,所以我們可以用一個(gè)叫 PhantomJS 的工具代替真實(shí)的瀏覽器。
可以從 PyPI 網(wǎng)站下載 Selenium庫(kù)https://pypi.python.org/simpl...ChromeDriver
也可以用 第三方管理器 pip用命令安裝(windows 環(huán)境):pip install selenium
Selenium 官方參考文檔:http://selenium-python.readth...
下載ChromeDriver
https://npm.taobao.org/mirror...
找到最新日期的版本,可以查看notes.txt文檔,選擇支持的Chrome瀏覽器的版本
解壓 chromedriver_win32.zip
將 chromedriver.exe 移動(dòng)到 Python安裝目錄下
(其實(shí)放哪都可以,但是需要配環(huán)境變量,放Python安裝目錄下省事)
# coding=utf-8 # 導(dǎo)包 from selenium import webdriver import time if __name__ == "__main__": # 1. 創(chuàng)建瀏覽器對(duì)象 driver = webdriver.Chrome() # 2. 發(fā)送請(qǐng)求 driver.get("https://www.baidu.com") # 3. 獲取數(shù)據(jù) # data = driver.page_source # with open("baidu.html", "w") as f: # f.write(data.encode("utf-8")) # 給搜索框 輸入數(shù)據(jù): 數(shù)據(jù) 必須是unicode driver.find_element_by_id("kw").send_keys(u"segmentfault") # 然后點(diǎn)擊 # driver.find_element_by_id("su").click() # webdriver 也支持xpath driver.find_element_by_xpath("http://*[@id="su"]").click() time.sleep(3) # 瀏覽器有幾個(gè)標(biāo)簽頁(yè) print driver.window_handles # 屏幕快照 driver.save_screenshot("baidu.png") # 點(diǎn)擊搜索結(jié)果的第一條 driver.find_element_by_xpath("http://*[@id="1"]/h3/a").click() # time.sleep(3) # 因?yàn)辄c(diǎn)擊之后會(huì)打開(kāi)一個(gè)新的標(biāo)簽,所以需要跳到新的標(biāo)簽 # driver.switch_to_window(driver.window_handles[1]) print driver.window_handles # 4. 屏幕快照 driver.save_screenshot("baidu1.png")
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44665.html
摘要:下一篇文章網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)請(qǐng)求庫(kù)安裝爬蟲(chóng)可以簡(jiǎn)單分為幾步抓取頁(yè)面分析頁(yè)面存儲(chǔ)數(shù)據(jù)。相關(guān)鏈接官方網(wǎng)站官方文檔中文文檔安裝驗(yàn)證安裝進(jìn)入命令行交互模式,導(dǎo)入一下包,如果沒(méi)有報(bào)錯(cuò),則證明安裝成功。 下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---2、請(qǐng)求庫(kù)安裝:GeckoDriver、PhantomJS、Aiohttp 爬蟲(chóng)可以簡(jiǎn)單分為幾步:抓取頁(yè)面、分析頁(yè)面、存儲(chǔ)數(shù)據(jù)。 在第一步抓取頁(yè)面的過(guò)程中,...
摘要:小白的我想學(xué)習(xí)開(kāi)始爬蟲(chóng),根據(jù)學(xué)習(xí)教程感謝哈希大數(shù)據(jù)公眾號(hào)的分享需要用到和一款谷歌瀏覽器的驅(qū)動(dòng)。用命令安裝安裝包以后,下載了安裝包文件,一定要下載對(duì)應(yīng)版本的驅(qū)動(dòng),感謝的分享。由于不想每次都設(shè)置的絕對(duì)路徑,就按操作設(shè)置環(huán)境變量。 小白的我想學(xué)習(xí)開(kāi)始爬蟲(chóng),根據(jù)學(xué)習(xí)教程(感謝哈希大數(shù)據(jù)公眾號(hào)的分享)需要用到selenium和一款谷歌瀏覽器的驅(qū)動(dòng)chromedriver。用pip命令安裝sele...
摘要:在使用截圖時(shí),遇上無(wú)法加載,導(dǎo)致了截圖是空白區(qū)。否則無(wú)法直接修改的設(shè)置。 在使用 selenium + chromeDriver + python3 截圖時(shí),遇上 Flash 無(wú)法加載,導(dǎo)致了截圖 Falsh 是空白區(qū)。 環(huán)境要求:selenium chromeDriver Python3 問(wèn)題 chrome 無(wú)頭瀏覽器無(wú)法自動(dòng)加載 Flash 解決辦法 參考了 allow-flash...
摘要:實(shí)戰(zhàn)解決登錄滑塊問(wèn)題寫在前面遇到的問(wèn)題解決辦法登錄過(guò)程如何使用開(kāi)發(fā)者模式參考寫在前面嘗試自動(dòng)化測(cè)試或初級(jí)爬蟲(chóng)登錄模塊以及滑塊驗(yàn)證可參考本篇文章。 python+s...
閱讀 2110·2023-04-26 00:09
閱讀 3139·2021-09-26 10:12
閱讀 3507·2019-08-30 15:44
閱讀 2874·2019-08-30 13:47
閱讀 935·2019-08-23 17:56
閱讀 3242·2019-08-23 15:31
閱讀 489·2019-08-23 13:47
閱讀 2527·2019-08-23 11:56