天天看點

python爬蟲-28-基于python和Selenium,讓你控制浏覽器自動化操作

python爬蟲-28-基于python和Selenium,讓你控制浏覽器自動化操作
最實用的python和selenium的操作手冊,分分鐘掌握。

1、selenium打開浏覽器

打開浏覽器就是初始化一下,然後發起一個請求,他就會自動調用浏覽器,并通路這個位址:

from selenium import webdriver

# 指定浏覽器驅動的位置
Driver_path = r'C:\Users\22768\Desktop\python\chromedriver.exe'

# 初始化
driver = webdriver.Chrome(executable_path=Driver_path)

# 請求百度
driver.get('http://www.baidu.com')      

2、selenium關閉某個标簽頁

當我們在一個浏覽器中打開多個标簽頁的時候,想關閉一個,就要這麼寫了:

driver.close()      

3、selenium關閉浏覽器

當我們運作完我們的代碼之後,肯定要關閉掉我們的浏覽器,那麼就可以在代碼最後面寫:

driver.quit()      

4、selenium定位元素(位置)

這裡有很多種定位元素的方法,比如根據​

​XPATH​

​​、​

​id​

​​、​

​name​

​​、​

​class​

​​、​

​css​

​​等方式,我覺得方式越多越亂,所謂一招鮮吃遍天嘛,我們掌握一種即可,我喜歡通過​

​XPATH​

​​來定位到具體的位置,為啥子呢,因為浏覽器本身可以複制​

​Xpath​

​,我們直接通過他就不用分析對應的網頁了,直接開整了就:

Input_Button = driver.find_element(by=By.XPATH, value='具體Xpath')      

5、selenium輸入内容

所謂的輸入内容,就是需要你先定位到某個位置,然後在這個位置裡面放入一些值,你可以了解為你的滑鼠移動到了輸入框,然後輸入了一些東西:

Input_Button.send_keys('運維家的部落格')      

6、selenium點選按鈕

當你輸入内容之後,是不是需要點選一下百度的按鈕,或者按個回車,他才會進行搜尋:

Down_button = driver.find_element(by=By.XPATH, value='//*[@id="su"]')
Down_button.click()      

7、selenium擷取傳回的資訊

當我們使用​

​selenium​

​控制浏覽器進行相關操作之後,如何擷取頁面傳回的資訊呢,通過下面的方式就可以了:

driver.page_source      

8、小demo

通過上面的操作,我覺得我們可以來通過上面的内容來寫個小​

​demo​

​來實際操作下了。往下看:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 指定浏覽器驅動的位置
Driver_path = r'C:\Users\22768\Desktop\python\chromedriver.exe'

# 初始化
driver = webdriver.Chrome(executable_path=Driver_path)

# 請求百度
driver.get('http://www.baidu.com')

# 擷取資訊
print(driver.page_source)

# 找到輸入框
Input_Button = driver.find_element(by=By.XPATH, value='//*[@id="kw"]')

# 輸入内容
Input_Button.send_keys('運維家的部落格')

# 找到“百度一下”按鈕的xpath路徑
Down_button = driver.find_element(by=By.XPATH, value='//*[@id="su"]')

# 點選一下“百度一下”按鈕
Down_button.click()

# 等待5s
time.sleep(5)

# 退出目前頁面
driver.close()      

可以看到浏覽器從開始,到出現如下界面,然後關閉的整個過程;

python爬蟲-28-基于python和Selenium,讓你控制浏覽器自動化操作

是不是還挺神奇的,同時,我們的背景日志也輸出了該頁面的​

​html​

​代碼,如下圖:

python爬蟲-28-基于python和Selenium,讓你控制浏覽器自動化操作

如果我們需要擷取啟動的資料,那麼就可以使用​

​etree​

​​的方式,然後再結合一些正則或者​

​xpath​

​文法來擷取。

那麼我們繼續來看下​

​python​

​​中​

​selenium​

​其他的更多用法吧。

9、selenium控制浏覽器最大化

​selenium​

​運作的時候我們的浏覽器預設打開是一個小框框,個人喜歡讓其最大化,那麼如何操作呢:

剩餘内容請轉至VX公衆号 “運維家” ,回複 “189” 檢視。

------ “運維家” ,回複 “189”  ------

------ “運維家” ,回複 “189”  ------

------ “運維家” ,回複 “189”  ------

運維工程師是幹什麼的,收單貓運維工程師,武威光伏運維工程師,西安運維傳遞工程師招聘,石家莊網絡運維工程師招聘;

資料中心運維基礎工程師,運維工程師剛進公司什麼都不會,順豐的it運維工程師,佛山IDC機房運維工程師招聘,武漢仕雲運維工程師加班多嗎;

運維工程師T1,設施運維工程師轉型,erp運維工程師教育訓練課題,江西環保運維工程師招聘,通富微電子桌面運維工程師;