本文全部操作均在windows环境下
Python是一种跨平台的计算机程序设计语言,它可以运行在Windows, Mac和各种Linux/Unix系统上。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(壳),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的,大型项目的开发
去Python的官网,www.python.org 下载安装
安装时勾选pip (python包管理工具),同时安装pip
python安装好之后,打开命令行工具cmd,输入“python - v”,然后敲回车,如果出现python版本号,则表示安装成功
硒是一个用于网络应用程序测试的工具.selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE (7、8、9、10、11), Mozilla Firefox、Safari、Chrome, Opera等.selenium是一套完整的网络应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(硒远程控制)和测试的并行处理(selenium Grid)
通过python包管理工具pip安装
pip安装硒 引用>
phantomJS是一个基于webkit的javaScript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行javaScript代码。任何你可以基于在webkit浏览器做的事情,它都能做的到。它不仅是个隐性的浏览器,提供了诸如css选择器,支持温标准,DOM操作,json, HTML5等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等.phantomJS的用处可谓非常广泛诸如网络监测,网页截屏,无需浏览器的温测试,页面访问自动化等
phantomjs安装链接www.phantomjs.org
在桌面创建演示文件夹,创建demo.py文件,当做我们的脚本文件,创建img文件夹用来存放截取的图片demo.py:
#=utf - 8编码 #导入网页驱动软件 从硒进口webdriver #导入WebDriverWait等待模块 从selenium.webdriver.support。等进口WebDriverWait 导入的时间 #调用环境变量指定的PhantomJS浏览器创建浏览器对象 #括号内为phantomjs安装位置 司机=webdriver.PhantomJS (executable_path=" D: \ \ Python27 \ \ \ \ phantomjs-2.1.1-windows \ \ bin \ \ phantomjs.exe脚本”) #访问的网址(以央视网为例) driver.get (“http://www.cctv.com/? #最大化浏览器 driver.maximize_window () #模拟点击登录按钮登录弹出登录框(后面有定位元素方法介绍) driver.find_elements_by_xpath('//跨度[@class=" btn_icon "]”) [1] .click () #等待登录页面加载完成,WebDriverWait(后面有等待方法介绍) WebDriverWait(司机10 0.5)。直到(λ潜水员:driver.find_element_by_xpath ('//[@class=癲l”]”),消息=" ") time . sleep (2) #截取登录框的页面保存到相应位置 driver.save_screenshot(“演示\ \ img \ \ login1.png”) #定位登录页面用户名和密码元素并模拟填入用户名和密码 driver.find_element_by_name(“用户名”).send_keys (“xxxxxxxxxxx”) driver.find_element_by_name (“passwd_view”) .send_keys (“xxxxxxxxxxx”) #模拟点击登录按钮登录 driver.find_element_by_link_text(“登录”).click () WebDriverWait(司机10 0.5)。直到(λ潜水员:driver.find_elements_by_xpath('//跨度[@class=" btn_icon "]”),消息=" ") time . sleep (2) #截取登录后的页面保存到相应位置 driver.save_screenshot(“演示\ \ img \ \ login2.png”) #模拟点击按钮跳转体育页面 driver.find_element_by_link_text(“体育”).click () WebDriverWait(司机10 0.5)。直到(λ潜水员:driver.find_element_by_link_text (CBA),消息=" ") time . sleep (2) #截取体育页面保存到相应位置 driver.save_screenshot(“演示\ \ img \ \ sport.png”) #退出驱动关闭所有窗口 driver.quit ()
打开命令行窗口cmd,切换到demo.py文件的路径下,输入
python demo.py引用>
脚本运行后会自动填写我们设定好的用户名密码并登录,截取设置好的页面并保存到img文件夹
登录框的页面截图:
登录后的页面截图:
Python +硒+ phantomjs实现网页模拟登录和截图功能(windows环境)