用webdriver+phantomjs实现无浏览器的自动化过程

环境准备

1. 安装python;

2. 安装pip;

3. 通过pip安装selenium:

4. 下载phantomJS的包并解压缩,将bin下的phantomjs.exe文件复制粘贴到python文件夹的scripts目录下(当然也可以在程序中动态的为webdriver.PhantomJS("指定phantomjs.exe文件路径"))。

至此我们就可以在python文件中引用webdriver和phantomjs了(这里phantomjs仅仅发挥了它是无窗口浏览器的作用)。

小试牛刀

写个脚本,登录博客园并给你的博客照张相~

# -*- coding: utf-8 -*-
from selenium import webdriver

from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import selenium.webdriver.support.ui as ui

import time

def hiBlog(blog_url,username,pwd):
    driver = webdriver.PhantomJS()
    driver.get("http://passport.cnblogs.com/user/signin?ReturnUrl=http%3A%2F%2Fwww.cnblogs.com%2F")
    wait = ui.WebDriverWait(driver, 10)
    wait.until(lambda dr: dr.find_element_by_id(‘signin‘).is_displayed())
    driver.find_element_by_id("input1").send_keys(username)
    driver.find_element_by_id("input2").send_keys(pwd)
    driver.find_element_by_id("signin").click()
    wait.until(lambda dr: dr.find_element_by_id(‘login_area‘).is_displayed())
    driver.get(blog_url)
    wait.until(lambda dr: dr.find_element_by_id(‘么么哒‘).is_displayed())
    #么么哒,ヾ( ̄▽ ̄)Bye~Bye~知道为什么要冷静三秒钟吗?自己想。
    time.sleep(3)
    driver.save_screenshot(‘C:\\screen.png‘)
    driver.quit()

#执行该文件的主过程
if __name__ == ‘__main__‘:
    hiBlog("你的博客地址","你的用户名","你的密码")

转载请注明出自天外归云的博客园。

时间: 2024-10-06 15:27:24

用webdriver+phantomjs实现无浏览器的自动化过程的相关文章

爬虫之 图片懒加载, selenium , phantomJs, 谷歌无头浏览器

一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests from lxml import etree if __name__ == "__main__": url = 'http://sc.chinaz.com/tupian/gudianmeinvtupian.html' headers = { 'User-

Robot Framework使用Phantomjs进行无界面UI自动化测试

Robot Framework 是一款关键字驱动的验收自动化测试框架,现在在国内使用的越来越广泛了.一种通用的Web UI自动化测试解决方案是Robot Framework+Selenium2Library (RFS).一般要使用Selenium2Library库,必须配置好浏览器驱动(driver).不然就无法驱动浏览器来执行自动化命令. 浏览器驱动对应表 上表简要说明了不同的浏览器所需要的驱动程序.这里我们重点介绍如何基于rfs+phantomjs进行无界面UI自动化测试. phantomj

转:Selenium2.0介绍——WebDriver两种驱动浏览器的方式

如果之前熟悉Selenium RC,理解了Selenium RC是如何工作的,那么,当第一次接触Selenium WebDriver的时候,看到WebDriver居然可以不需要指定远端服务器的IP地址和端口号的,一定会惊讶的. 事实上,WebDriver有两种方式“驱动”浏览器的方式.1. Selenium Server:和Selenium RC一样的,通过指定远端服务器IP地址和端口号,由这个远端服务器来驱动浏览器.2. 直接调用:无须指定任何服务器IP地址和端口号.直接使用本地的浏览器(只要

07-selenium、PhantomJS(无头浏览器)

selenium(自动化测试工具可用于在爬虫中解决js动态加载问题) 简介(本质就是模仿浏览器工作) Selenium 是什么?一句话,自动化测试工具.它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试.换句话说叫 Selenium 支持这些浏览器驱动.话说回来,PhantomJS(无头浏览器)不也是一个浏览器吗,那么 Selenium 支持不?答案是肯定的,这样二

【原创】翻译一些关于webdriver、selenium相关的开源自动化文章

一方面是激励自己学习,另一方面是提高自己的英文水平. 接下来的一段时间里,按照计划一个星期翻译一篇英文文章. 内容: webdriver.selenium自动化相关 来源: google搜索关键字 xxx test with selenium 或 xxx test with webdriver 时间: 2014-5-16日至2014-6-16日 文章列表(更新中): (1)关于使用selenium对ExtJS进行测试的几点建议 [原创]翻译一些关于webdriver.selenium相关的开源自

【转】Selenium2(WebDriver)总结(一)---启动浏览器、设置profile&加载插件

基本读踩过的坑,泪流满面··· 本文主要记录下在使用selenium2/webdriver时启动各种浏览器的方法.以及如何加载插件.定制浏览器信息(设置profile)等 环境搭建可参考我的另一篇文章:http://www.cnblogs.com/puresoul/p/3483055.html 一.Driver下载地址: http://docs.seleniumhq.org/download/ 二.启动firefox浏览器(不需要下载驱动,原生支持) 1.firefox安装在默认路径下: 1 /

使用webdriver + phantomjs + pdfkit 生成PDF文件

实例 #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on Dec 6, 2013 @author: Jay <[email protected]> @description: use PhantomJS to parse a web page to get the geo info of an IP ''' import datetime import urllib # from pyquery import PyQuery as

Selenium2(WebDriver)总结(一)---启动浏览器、设置profile&amp;加载插件

本文主要记录下在使用selenium2/webdriver时启动各种浏览器的方法.以及如何加载插件.定制浏览器信息(设置profile)等 环境搭建可参考我的另一篇文章:http://www.cnblogs.com/puresoul/p/3483055.html 一.Driver下载地址: http://docs.seleniumhq.org/download/ 二.启动firefox浏览器(不需要下载驱动,原生支持) 1.firefox安装在默认路径下: 1 //启动默认安装路径下的ff 2

从输入 URL 到浏览器接收的过程中发生了什么事情?

从输入 URL 到浏览器接收的过程中发生了什么事情? What really happens when you navigate to a URL 上面两篇文章都解读的很好,值得阅读. 接下来在总结一下这个过程: 1.首先,会查询缓存,如果缓存存在的话则直接响应,否则继续下面过程: 2.当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询.这能使浏览器获得请求对应的IP地址.D