windows環境下的PHP+selenium+Firefox實現自動登錄抓取網站cookie等信息

前段時間公司開發了一個商城項目,需要商品數據,訂單數據,以及帶cookie操作的數據,需要登錄某寶後爬取數據,於是乎部署一個自動登錄獲取cookie的信息的模塊,採用了爬蟲登錄常用的selenium來實現。selenium一款實現自動化測試的插件,其包含了對瀏覽器的絕大數操作,具體可以去問度娘說的很詳細。以下說一下實現的具體過程。

     1、php環境搭建 

    2、java運行環境的搭建,這裏需要說明一下selenium運行文件是一個jar包,你必須搭建好java運行的環境才能啓用selenium。具體安裝以及環境變量的配置請參考:https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html

    3、下載selenium文件,http://selenium-release.storage.googleapis.com/index.html (selenium 下載地址)下載selenium-server-standalone-3.4.0.jar的jar包文件,爲了保證穩定我這裏下載的是3.4版本的。

    4、安裝瀏覽器,推薦大家使用Google或者Firefox瀏覽器,注意需要爲瀏覽器配置環境變量。不然後面無法啓動瀏覽器。

    5、下載瀏覽器驅動文件(這裏需要注意的是:一定要下載與本機安裝瀏覽器版本匹配的驅動文件) 。Google瀏覽器使用的驅動文件名爲:   chromedriver,https://chromedriver.storage.googleapis.com/index.html (chrome driver 下載地址)。Firefox的驅動文件名爲:geckodriver.exe,https://docs.seleniumhq.org/download/(selenium官網去下載,選擇java的)

               

注意:下載完成的驅動文件要放在php的根目錄下

              

            6、下載 PHP+selenium 的demo文件,https://github.com/facebook/php-webdriver (裏面有example.php以及 tests文件下的案例文檔共參考)。

             7、寫好demo之後你就可以進行測試了,首先運行下載的selenium的jar包文件,在cmd命令行中進入你放置selenium文件的目錄然後執行以下命令(注意:需要在第二步中配置java運行環境變量)            java -jar selenium-server-standalone-3.4.0.jar 。     如果你的命令行出現了以下提示那就是啓動成功了。


            8、你可以在cmd命令行中運行你的demo.php文件。如果啓動瀏覽器成功那就恭喜你了。下面如何操作瀏覽器,如何登陸,如何獲取cookie信息等直接參考php+selenium文檔就OK了。

最後還是要提醒大家注意一下幾點的(也是我在部署環境中遇到的一些問題):

(1)版本問題:下載瀏覽器插件和selenium時一定要選對版本

(2)瀏覽器插件放置位置問題:本人在做的時候就遇到這個問題,後來直接扔到php目錄下搞定了

(3)在具體進行登錄的時候php拋出異常,意思說是操作的頁面中沒有找到所要點擊的按鈕(我這裏選擇通過id來定位元素),改成通過名稱來定位也是定位不到,我就奇了個怪了,果斷翻閱文檔,看到文檔的tips中提示到如果是使用<iframe></iframe>的話必須切換到指定的iframe中纔可以定位到元素。到此一切告一段落,完美解決。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章