国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用 Selenium 進(jìn)行模擬登入和頁(yè)面內(nèi)容的獲取

thursday / 2186人閱讀

摘要:傳統(tǒng)的無法執(zhí)行頁(yè)面中的瀏覽器腳本,并且在抓取一些對(duì)爬蟲有限制的網(wǎng)頁(yè)時(shí),往往要設(shè)定詳細(xì)的來突破限制,編寫起來較為復(fù)雜。直接使用瀏覽器運(yùn)行,像真正的用戶在操作。支持以下方式進(jìn)行選擇元素各種庫(kù)對(duì)情況的檢測(cè)方法

傳統(tǒng)的 cURL 無法執(zhí)行頁(yè)面中的瀏覽器腳本,并且在抓取一些對(duì)爬蟲有限制的網(wǎng)頁(yè)時(shí),往往要設(shè)定詳細(xì)的 http header 來突破限制,編寫起來較為復(fù)雜。

Selenium簡(jiǎn)介:

Selenium 是一個(gè)用于Web應(yīng)用程序測(cè)試的工具(用處也不僅僅是測(cè)試)。
Selenium 直接使用瀏覽器運(yùn)行,像真正的用戶在操作。支持較多的瀏覽器。

組件

Selenium IDE:Firefox插件,有錄制腳本的功能。支持自動(dòng)錄制動(dòng)作和自動(dòng)生成其他語言的自動(dòng)化腳本。

Selenium Remote Control (RC) :支持多種平臺(tái)(Windows,Linux)和多瀏覽器(IE,F(xiàn)irefox,Opera,Safari,Chrome),可以用多種語言(Java,Ruby,Python,Perl,PHP,C#)編寫用例。

Selenium Grid :允許Selenium-RC 針對(duì)規(guī)模龐大的測(cè)試案例集或者需要在不同環(huán)境中運(yùn)行的測(cè)試案例集進(jìn)行擴(kuò)展。


實(shí)例:驅(qū)動(dòng) chrome 模擬登入淘寶,獲取頁(yè)面信息

1.前往項(xiàng)目主頁(yè):SeleniumHQ 下載

Selenium Server (formerly the Selenium RC Server)

Third Party Browser Drivers NOT DEVELOPED by seleniumhq

(選擇chrome的driver)

Third Party Language Bindings NOT DEVELOPED by seleniumhq

(選擇PHP by Adam Goucher (SeHQ recommended php client))

2.打開 selenium

java -jar path_to_selenium.jar 
[-timeout 0] 
[-Dwebdriver.server.session.timeout=0] 
-Dwebdriver.chrome.driver="path_to_chrome_driver"
-browser [-timeout=0] [-browserTimeout=0]
browserName=chrome,[timeout=0]

如需長(zhǎng)時(shí)間運(yùn)行請(qǐng)酌情設(shè)置各 "[ ]" 中的超時(shí)時(shí)間

3.PHP代碼

execute(array("script" => "return (document.readyState != "complete")", "args" => array())));
}  //該函數(shù)會(huì)把腳本掛起直到等待到Ajax結(jié)束

require_once "webdriver/PHPWebDriver/__init__.php";
// 引入 selenium 的PHP封裝函數(shù)庫(kù)
// 下載地址:https://github.com/Element-34/php-webdriver
// 文檔中有各種操作瀏覽器方法,如獲取所有cookie等

$wd_host = "http://127.0.0.1:4444/wd/hub";
$web_driver = new PHPWebDriver_WebDriver($wd_host);

$session = $web_driver->session("chrome");

//設(shè)置超時(shí)時(shí)間
$session->implicitlyWait(5);
$session->setScriptTimeout(5);
$session->setPageLoadTimeout(15);

//打開連接
$session->open("http://login.m.taobao.com/login.htm?tpl_redirect_url=http://m.taobao.com");

//輸入驗(yàn)證碼用,如果需要的話
sleep(5);

//請(qǐng)?jiān)O(shè)置好帳號(hào)密碼
$session->element("css selector", "input[name=TPL_username]")->value(array("value" => str_split("your_username")));
$session->element("css selector", "input[name=TPL_password]")->value(array("value" => str_split("your_password")));

//模擬點(diǎn)擊登入按鈕
$elements = $session->element("css selector", ".c-btn-oran-big")->click();

//打開 m.taobao.com,此時(shí)已獲取到cookie
$session->open("http://m.taobao.com/");

//等待ajax加載完畢
waitForAjax();

$elements = $session->element("css selector", "body")->text();
//獲得了登入后ajax執(zhí)行完畢時(shí)的頁(yè)面內(nèi)容
?>

之后便可以按需對(duì) $session 實(shí)例進(jìn)行 element 方法的各種操作。

支持以下方式進(jìn)行選擇元素

id

xpath

link text

partial link text

name

tag name

class name

css selector


PS:各種庫(kù)對(duì)Ajax情況的檢測(cè)方法

jQuery: "jQuery.active"

Prototype: "Ajax.activeRequestCount"

Dojo: "dojo.io.XMLHTTPTransport.inFlight.length"

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/20603.html

相關(guān)文章

  • 使用 Selenium 抓取網(wǎng)頁(yè)內(nèi)容模擬登入

    摘要:傳統(tǒng)的無法執(zhí)行頁(yè)面中的瀏覽器腳本,并且在抓取一些對(duì)爬蟲有限制的網(wǎng)頁(yè)時(shí),往往要設(shè)定詳細(xì)的來突破限制,編寫起來較為復(fù)雜。直接使用瀏覽器運(yùn)行,像真正的用戶在操作。支持以下方式進(jìn)行選擇元素各種庫(kù)對(duì)情況的檢測(cè)方法 傳統(tǒng)的 cURL 無法執(zhí)行頁(yè)面中的瀏覽器腳本,并且在抓取一些對(duì)爬蟲有限制的網(wǎng)頁(yè)時(shí),往往要設(shè)定詳細(xì)的 http header 來突破限制,編寫起來較為復(fù)雜。 Selenium簡(jiǎn)介: ...

    mylxsw 評(píng)論0 收藏0
  • 有贊 WEB-UI 自動(dòng)化實(shí)踐

    摘要:概述是由有贊開發(fā)的自動(dòng)化工具,并以此實(shí)現(xiàn)了端和端的核心業(yè)務(wù)的自動(dòng)化。旨在簡(jiǎn)化開源工具提供的接口,方便自動(dòng)化測(cè)試用例的設(shè)計(jì)。元素定位自動(dòng)化用例其實(shí)可以分成兩部分,定位元素調(diào)用接口操作該元素。一臺(tái)用于跑自動(dòng)化用例的服務(wù)器。 概述 Bee 是由有贊 QA 開發(fā)的 UI 自動(dòng)化工具,并以此實(shí)現(xiàn)了 web 端和 wap 端的核心業(yè)務(wù)的自動(dòng)化。旨在簡(jiǎn)化開源工具提供的接口,方便 UI 自動(dòng)化測(cè)試用例...

    h9911 評(píng)論0 收藏0
  • 使用selenium模擬瀏覽器抓取淘寶商品美食信息

    摘要:目標(biāo)通過模擬瀏覽器抓取淘寶商品美食信息,并存儲(chǔ)到數(shù)據(jù)庫(kù)中。流程框架淘寶頁(yè)面比較復(fù)雜,含有各種請(qǐng)求參數(shù)和加密參數(shù),如果直接請(qǐng)求或者分析將會(huì)非常繁瑣。 目標(biāo) 通過Selenium模擬瀏覽器抓取淘寶商品美食信息,并存儲(chǔ)到MongoDB數(shù)據(jù)庫(kù)中。 流程框架 淘寶頁(yè)面比較復(fù)雜,含有各種請(qǐng)求參數(shù)和加密參數(shù),如果直接請(qǐng)求或者分析Ajax將會(huì)非常繁瑣。Selenium是一個(gè)自動(dòng)化測(cè)試工具,可以驅(qū)動(dòng)瀏覽...

    djfml 評(píng)論0 收藏0
  • 【Python爬蟲】4萬字,詳解selenium從入門到實(shí)戰(zhàn)【錯(cuò)過再無】

    摘要:難在哪里根據(jù)上面的標(biāo)簽需要定位最后一行標(biāo)簽,以下列出了四種方式,定位的方式多樣并不唯一,使用時(shí)根據(jù)情況進(jìn)行解析即可。加入每日一練我們使用并指明標(biāo)簽內(nèi)全部文本即可定位。 ...

    shiyang6017 評(píng)論0 收藏0
  • ??爬蟲+自動(dòng)化利器 selenium 之自學(xué)成才篇(一)??

    文章目錄 selenium 簡(jiǎn)介selenium安裝安裝瀏覽器驅(qū)動(dòng)確定瀏覽器版本下載驅(qū)動(dòng) 定位頁(yè)面元素打開指定頁(yè)面id 定位name 定位class 定位tag 定位xpath 定位css 定位link 定位partial_link 定位 瀏覽器控制修改瀏覽器窗口大小瀏覽器前進(jìn)&后退瀏覽器刷新瀏覽器窗口切換常見操作 鼠標(biāo)控制單擊左鍵單擊右鍵雙擊拖動(dòng)鼠標(biāo)懸停 鍵盤控制 seleni...

    james 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<