
最實用的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()
可以看到浏覽器從開始,到出現如下界面,然後關閉的整個過程;
是不是還挺神奇的,同時,我們的背景日志也輸出了該頁面的
html
代碼,如下圖:
如果我們需要擷取啟動的資料,那麼就可以使用
etree
的方式,然後再結合一些正則或者
xpath
文法來擷取。
那麼我們繼續來看下
python
中
selenium
其他的更多用法吧。
9、selenium控制浏覽器最大化
selenium
運作的時候我們的浏覽器預設打開是一個小框框,個人喜歡讓其最大化,那麼如何操作呢:
剩餘内容請轉至VX公衆号 “運維家” ,回複 “189” 檢視。
------ “運維家” ,回複 “189” ------
------ “運維家” ,回複 “189” ------
------ “運維家” ,回複 “189” ------
運維工程師是幹什麼的,收單貓運維工程師,武威光伏運維工程師,西安運維傳遞工程師招聘,石家莊網絡運維工程師招聘;
資料中心運維基礎工程師,運維工程師剛進公司什麼都不會,順豐的it運維工程師,佛山IDC機房運維工程師招聘,武漢仕雲運維工程師加班多嗎;
運維工程師T1,設施運維工程師轉型,erp運維工程師教育訓練課題,江西環保運維工程師招聘,通富微電子桌面運維工程師;