zoukankan      html  css  js  c++  java
  • 用webdriver+phantomjs实现无浏览器的自动化过程

    环境准备

    1. 安装python;

    2. 安装pip;

    3. 通过pip安装selenium:

    4. 下载phantomJS的包并解压缩:

      1. 若在Windows系统中,将下载的phantomjs文件夹下bin文件夹下的phantomjs.exe文件复制粘贴到python文件夹的scripts目录下(当然也可以在程序中动态的为webdriver.PhantomJS("指定phantomjs.exe文件路径"));

      2. 若在Mac系统中,将下载的phantomjs文件夹下bin文件夹下的phantomjs文件拷贝到“Library/Python/2.7/site-packages”目录下。

    至此我们就可以在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("你的博客地址","你的用户名","你的密码")

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

  • 相关阅读:
    Mongdb 简单增删改查
    mongdb的安装
    VO,DO,DTO,PO,POJO,EJB
    JavaScript是如何工作的:事件循环和异步编程的崛起+ 5种使用 async/await 更好地编码方式!
    判断DataTale中判断某个字段中包含某个数据
    查询表中某个字段的值出现次数大于1的数据
    判断对象数组中是否含有某个对象。
    C# datatable 重新排序
    jquery 验证大于0的整数
    jQuery 心跳请求
  • 原文地址:https://www.cnblogs.com/LanTianYou/p/5578621.html
Copyright © 2011-2022 走看看