用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("你的博客地址","你的用戶名","你的密碼")

轉載請注明出自天外歸雲的博客園。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM