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中才可以定位到元素。到此一切告一段落,完美解决。


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